본문 바로가기

R

R MANUALS : ② 숫자와 벡터 → 2.2 벡터의 연산 .1

SMALL

본 글은 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

 

LIST