5 min to read
R-Studio 시퀀스(Seq), 리핏(Rep), 리버스(Rev)
R-Studio 반복제어 문을 위한 워밍업.
R-Studio 의 Seq와 Rep
Seq는 순서대로 증가하는 변수를 만들어준다.
Rep는 인자값 만큼 반복하는 변수를 만들어준다.
사용된 함수
이름 | 함수이름 | 사용법 |
---|---|---|
Seq | seq() | seq(시작값, 끝값, 증가값) |
Rep | rep() | rep(반복할값, 반복할 횟수) |
rev | rev() | rev( 벡터) |
함수 예제
# :은 연속형 데이터
aa <- c(1:100)
aa
# [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
# [51] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
# [76] 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
# ,는 이산형 데이터
bb <- c(3:5, 8:9)
bb
# [1] 3 4 5 8 9
# 시퀀스 로 수증가 시키기
cc <- seq(from=1, to=5)
cc
# [1] 1 2 3 4 5
# 시퀀스 로 수증가 사용자 지정 증가값
dd <- seq(from=1, to=10, by=2)
dd
# [1] 1 3 5 7 9
# 시퀀스 반대로 줄이기
ee <- seq(from=10, to=1, by=(-3))
ee
# [1] 10 7 4 1
# rev(1:10) 뒤집기 reverse
rev(1:10)
# [1] 10 9 8 7 6 5 4 3 2 1
# rep(1:10) 반복 replicates
rep(1, 10)
# [1] 1 1 1 1 1 1 1 1 1 1
# 1, 2를 3번 반복
hh <- rep(1:2, 3)
hh
# [1] 1 2 1 2 1 2
# 서로 3번씩 반복
ii <- rep(1:2, each=3)
ii
# [1] 1 1 1 2 2 2
# 2, 3, 5 3번 반복
jj <- rep(c(2, 3, 5), 3)
jj
# [1] 2 3 5 2 3 5 2 3 5
# vectorization
cc <- c(1, 2)
cc^2 # c벡터에 각 원소마다 제곱 해줌
# [1] 1 4
# 1~100의 합에서 3~99 까지의 3의배수의 합의 차를 구함
a <- seq(1, 100, by=1)
b <- seq(3, 99, by=3)
result <- sum(a) - sum(b)
result
# [1] 3367
# seq를 이용하여 100, 91, 94 ... 1 만들기
a <- seq(100, 1, by=(-3))
a
# [1] 100 97 94 91 88 85 82 79 76 73 70 67 64 61 58 55 52 49 46 43 40 37 34 31 28
# [26] 25 22 19 16 13 10 7 4 1
# seq와 sum을 이용하여 1+9+25+...+9801의 합을 구하시오.
# 참조 : 9801은 99의 제곱이다.
# 정답 : 166650
b <- seq(1, 99, by=2)
sum(b^2)
# [1] 166650
# 1 - 1/2 + 1/3 - 1/4 + ...+1/99-1/100
# 힌트 : seq를 이용하여 홀수항과 짝수항을 별도로 구하여 연산하면된다.
# 정답 : 0.688172
ex3 <- sum(1 / seq(from=1, to=100, by=2)) - sum(1 / seq(from=2, to=100, by=2))
ex3
# [1] 0.6881722
# 산수문제
kk <- seq(1, 100, by=3)
sum(kk)
# [1] 1717
kk2 <- seq(96, 1, by=-5)
sum(kk2)
# [1] 970
Comments