벡터 :: R 완전 기초 - mindscale
Skip to content

벡터

R에서는 수나 문자는 기본적으로 벡터(vector)로 취급된다.

벡터를 만들때는 c 함수를 이용한다. c는 combine의 약자이다.

c(1,2,3,4,5) 
[1] 1 2 3 4 5

벡터를 출력하면 화면에 [1]과 같은 표시가 나오는 데, 이것은 이 표시의 오른쪽에 있는 값이 벡터에서 몇번째인지를 순서를 의미한다.

길이가 더 긴 벡터를 만들어 준다.

c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5) 
 [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

[25]5가 벡터에서 25번째임을 의미한다.

벡터의 사칙연산

벡터끼리 연산을 하면 같은 자리에 있는 값들끼리 연산을 한다.

벡터를 만들어 변수 xy에 넣는다.

x = c(1,2)
y = c(3,4)

x + y 연산을 한다.

벡터의 덧셈 연산을 통해 [1] 4 6 이 출력됨을 확인 할 수 있다.

x + y
[1] 4 6

x - y 연산을 한다.

벡터의 뺄셈 연산을 통해 [1] -2 -2 이 출력됨을 확인 할 수 있다.

x - y
[1] -2 -2

x * y 연산을 한다.

벡터의 곱셈 연산을 통해 [1] 3 8 이 출력됨을 확인 할 수 있다.

x * y

x / y 연산을 한다.

벡터의 나눗셈 연산을 통해 [1] 0.3333333 0.5000000 이 출력됨을 확인 할 수 있다.

x / y

벡터끼리 길이가 같지 않을 경우, 짧은 쪽을 긴 쪽에 반복 적용한다. c(1, 2, 3, 4, 5)2를 곱하면, 각각에 2를 곱하게 된다.

c(1,2,3,4,5) * 2

seq() 함수를 이용해 수열벡터 만들기

seq 는 sequence의 약자이다

1 부터 10 까지 연속적인 숫자를 원소로 갖는 벡터를 만들어 준다.

seq(1, 10)

1 부터 100 까지 연속적인 숫자를 원소로 갖는 벡터를 만들어 준다.

seq(1, 100)

1 부터 100 까지 5 간격으로 연속적인 숫자를 원소로 갖는 벡터를 만들어 준다.

seq(1, 100, 5)

:을 이용해 수열 벡터 만들기

1:10seq(1, 10)와 동일하다.

1:10

3:15seq(3, 15)와 동일하다.

3:15

인덱싱

벡터 c(46, 27, 38)를 만들어 x에 저장한다.

x = c(46, 27, 38)

x[1] 로 벡터 x에 첫번째 원소에 접근한다.

46이 출력됨을 확인 할 수 있다.

x[1]

x[2] 로 벡터 x에 두번째 원소에 접근한다.

27이 출력됨을 확인 할 수 있다.

x[2]

여러 값 익덱싱

[ ]안에 새로운 벡터를 만들어서 여러개의 원소를 꺼내준다

x[c(1,2)]의 결과 첫번째와 두번째 값이 출력됨을 확인 할 수 있다

x[c(1,2)]

x[c(1,3)]의 결과 첫번째와 세번째 값이 출력됨을 확인 할 수 있다

x[c(1,3)]

범위 인덱싱

1에서 2번째까지 벡터의 원소가 출력된다.

x[1:2]

1에서 3번째까지 벡터의 원소가 출력된다.

x[1:3]

2에서 3번째까지 벡터의 원소가 출력된다.

x[2:3]

rep() 함수를 이용해 반복적인 원소를 갖는 벡터 만들기

rep는 repeat의 약자이다

rep(0 , 10) 결과 0을 10번 반복해서 원소로 출력된다.

rep(0 , 10)

rep(5 , 7) 결과 5를 7번 반복해서 원소로 출력된다.

rep(5 , 7)

x벡터의 3번째 원소를 7번 반복한다.

x[rep(3 , 7)]