본 글은 https://cran.r-project.org/doc/manuals/r-release/R-intro.html내용을 기반으로 작성되었습니다.
Copyright © 1999–2021 R Core Team
- 벡터는 연산이 가능함
- 연산이 가능하다는 의미는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)이 가능하다는 의미임
- 기본적으로 벡터 연산은 벡터 내 요소 대 요소로 진행됨
- 예를들어 x라는 변수에 할당된 벡터와 y라는 변수에 할당된 벡터를 더해보면
- x의 첫번째 요소와 y의 첫번째 요소, x의 두번째 요소와 y의 두번째 요소가 더해지게 됨
- 요소대 요소로 더해지게 됨으로 결과 값은 (5, 7, 9)가 도출됨
> x <- c(1,2,3) # x라는 변수에 벡터 할당
> y <- c(4,5,6) # y라는 변수에 벡터 할당
> x+y # x에 할당된 벡터와 y에 할단된 벡터의 덧셈
----------
[1] 5 7 9 # 결과값 (x+y를 변수에 할당하지 않았기 때문에 이렇게 화면에 표시만 되고 결과값은 휘발됨)
# [1]은 결과값을 출력할 때 첫번째 줄이라는 의미이기 때문에 크게 신경쓰지 않아도 됨
- 벡터 연산 시 두 벡터의 길이가 달라도 연산은 가능함
- 길이가 다르다는 것은 벡터내 요소의 개수가 다르다는 것을 의미함
- 요소대 요소로 연산이 진행되며 길이가 짧은 벡터는 한바퀴를 더 돌게 됨
- (1,2,3)이라는 벡터와 (1,2,3,4,5)라는 벡터를 더하면 (1+1, 2+2, 3+3, 1+4, 2+5)처럼 연산됨
- 그리고 친절하게도 벡터의 길이가 다르다는 오류메시지도 함께 출력됨
> x <- c(1,2,3)
> y <- c(1,2,3,4,5)
> x+y
-----
[1] 2 4 6 5 7
Warning message:
In x + y : longer object length is not a multiple of shorter object length
- 벡터와 벡터 연산 뿐만 아니라 벡터와 숫자간의 연산도 가능함
- 벡터에 1라는 숫자를 더하면 각 요소마다 1이 반복적으로 더해짐
- 뺄셈과 곱셈, 나눗셈 모두 동일함
> x <- c(1,2,3)
> x+1
----------
[1] 2 3 4
- 벡터와 숫자의 연산, 벡터와 벡터의 연산을 조합하여 사용가능함
- 덧셈, 뺄셈, 곱셈, 나눗셈은 연산규칙에 따라 순서대로 연산됨 (배운 곱셈과 나눗셈 먼저, 괄호안에 있는것 먼저 등)
- x의 첫번째 요소 1, y의 첫번째 요소 4를 수식에 각각 대입하면 1*2+4+1가 됨
- 계산하면 7이되며 이는 결과값은 첫번째 자리에 입력되게 됨
- 두번째 요소, 세번째 요소도 동일한 과정을 거침
- x의 네번째 요소는 대응되는 요소가 없기 때문에 y의 첫번째 요소와 연산됨 (4*2+4+1)
> x <- c(1,2,3,4,5) # 벡터 할당
> y <- c(4,5,6) # 벡터 할당
> x*2+y+1 # 벡터 연산
------
[1] 7 10 13 13 16 # 결과값
Warning message:
In x * 2 + y :
longer object length is not a multiple of shorter object length
'R' 카테고리의 다른 글
R MANUALS : ② 숫자와 벡터 → 2.4 논리형 벡터 (0) | 2021.12.21 |
---|---|
R MANUALS : ② 숫자와 벡터 → 2.3 연속 숫자 생성하기 (0) | 2021.12.18 |
R MANUALS : ② 숫자와 벡터 → 2.2 벡터의 연산 .2 (0) | 2021.12.17 |
R MANUALS : ② 숫자와 벡터 → 2.1 벡터와 벡터 할당 (0) | 2021.12.15 |
R MANUALS : ① 인트로 (0) | 2021.12.15 |