+, -와 같은 단순한 값 연산이 가능하다.
> x <- 2
> y <- 2
> z <- x + y
> z
[1] 4
벡터에 대한 조건문을 실행할 수 있다.
> x <- 1:4
> x > 3
[1] FALSE FALSE FALSE TRUE
> x == 10
[1] FALSE FALSE FALSE FALSE
> x == 1
[1] TRUE FALSE FALSE FALSE
두 벡터의 합을 구할 수 있다.
> x <- 10:20
> x
[1] 10 11 12 13 14 15 16 17 18 19 20
> y <- 30:40
> y
[1] 30 31 32 33 34 35 36 37 38 39 40
> z <- x + y
> y <- 30:40
> x <- 10:20
> z
[1] 40 42 44 46 48 50 52 54 56 58 60
java, c, c++같은 구조 지향적 언어라면 아래와 같이 개발할 수 있는데, R의 벡터 연산이 무척 편리하다.
> for (i in seq_along(x)) {
+ }
> z[i] <- x[i] + y[i]
> z
[1] 40 42 44 46 48 50 52 54 56 58 60
행렬도 벡터 연산을 할 수 있다.
> x <- matrix(1:4, 2, 2)
> x
[,1] [,2]
[1,] 1 3
[2,] 2 4
> y <- matrix(2:5, 2, 2)
> y
[,1] [,2]
[1,] 2 4
[2,] 3 5
> z <- x * y
> z
[,1] [,2]
[1,] 2 12
[2,] 6 20
> z <- x / y
> z
[,1] [,2]
[1,] 0.5000000 0.75
[2,] 0.6666667 0.80
그러나 list는 쉽게 되지 않는다.
> x <- list(1, 2)
> y <- list(3, 4)
> z <- x + y
Error in x + y : 이항연산자에 수치가 아닌 인수입니다
>
>
'R' 카테고리의 다른 글
[R] ... 사용하기 (0) | 2016.03.02 |
---|---|
[R] R에서 시간, 날짜 다루기 (as.Date, Sys.time) (1) | 2016.02.27 |
[R] str(), dput(), args() : 함수 원형 보기 (0) | 2016.02.15 |
[R] 객체 저장 (텍스트: dget/dput, dump/source) vs (바이너리 : save/load) (0) | 2016.02.15 |
[R] NA (0) | 2016.02.14 |