이경수 선생님의 수학실험실

Vectors (seq, rep) 본문

R

Vectors (seq, rep)

(이경수) 2021. 4. 20. 15:59

연속된 정수로 이루어진 벡터는 start end 와 같은 형식으로 정의한다. 만일 공차 d인 수열을 만들고자 한다면 아래 예와 같이 seq(from, to, d) 와 같은 형식으로 정의를 해 주면 된다.

> x <- 1:10
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> x <- seq(1, 10)
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> x <- seq(1, 10, 2)
> x
[1] 1 3 5 7 9
> x <- seq(1, 10, 3)
> x
[1]  1  4  7 10

 

seq_along()은 인자로 들어오는 데이터의 수(n)에 따라 1:n 인 벡터를 만들며, seq_len(n)는 1:n 인 벡터를 만들어 낸다.

> seq_along(c("k", "o", "r", "e", "a"))
[1] 1 2 3 4 5
> seq_len(3)
[1] 1 2 3

 

rep()는 동일한 데이터 패턴을 반복적으로 갖는 벡터를 만들어 낸다.

> rep(c("a", "b"), 3)
[1] "a" "b" "a" "b" "a" "b"
> rep(c("a", "b"), each=3)
[1] "a" "a" "a" "b" "b" "b"

 

벡터를 집합으로 취급하여 집합의 연산을 가능하게 하는 함수도 있다.

 - setdiff : 차집합

 - union : 합집합

 - intersect : 교집합

 - setequal : 집합의 상등 판별

> setdiff(c("k", "o", "r", "e", "a"), c("o", "r", "a", "n", "g", "e"))
[1] "k"
> setdiff(c("o", "r", "a", "n", "g", "e"), c("k", "o", "r", "e", "a"))
[1] "n" "g"
> union(c("o", "r", "a", "n", "g", "e"), c("k", "o", "r", "e", "a"))
[1] "o" "r" "a" "n" "g" "e" "k"
> intersect(c("o", "r", "a", "n", "g", "e"), c("k", "o", "r", "e", "a"))
[1] "o" "r" "a" "e"
> setequal(c("o", "r", "a", "n", "g", "e"), c("k", "o", "r", "e", "a"))
[1] FALSE

 

'R' 카테고리의 다른 글

R의 데이터 타입_배열(array)  (0) 2021.04.20
Matrix operation  (0) 2021.04.20
Random Sampling  (0) 2021.04.20
Random numbers  (0) 2021.04.20
The str Function(What is in this Object?) & summary Function  (0) 2021.04.16
Comments