본문 바로가기
R연습 200제/2. R 데이터 객체

Q_02_03. 벡터 만들기 - c( )함수, seq( ) 함수, rep( ) 함수 이용

by R통컨 2025. 4. 28.

벡터를 만드는 명령어로는    seq   rep 가 있습니다.

 

(1) c 함수를 이용하기

 

벡터를 만드는 가장 기본적인 방법은 c( ) 함수를 이용하는 것인데 Concatenate 또는 Combine 의 약어입니다.

연속적인 원소로 구성된 벡터를 만들고자 할 때에는 : 연산자를 이용하면 편리하게 만들 수 있습니다.

 

 원소가 숫자형인 경우

 

> c(1,2,3,4,5,6,7,8,9,10)                 # 1부터 10까지 벡터를 만든다

[1] 1 2 3 4 5 6 7 8 9 10

> vec01 <- c(1,2,3,4,5,6,7,8,9,10)    # 벡터이름( vec01)을 지정합니다.

> vec01 # 벡터 vec01을 프린트합니다.

[1] 1 2 3 4 5 6 7 8 9 10

 

다음과 같이 세미콜론을 이용하여 한 줄에 사용할 수 있습니다.

 

> vec01 <- c(1,2,3,4,5,6,7,8,9,10); vec01

[1] 1 2 3 4 5 6 7 8 9 10

 

> 1:10                          # 1 부터 10까지 원소로 구성된 벡터만들기

> c(-3,-2,-1,0,1,2,3,4,5)     # -3에서 5까지 음수를 지정할 수 있습니다.

> 5:-3                          # 5에서 -3까지

> c(1:5,7:10)                  # 1에서 5, 7에서 10까지

 

> vec01 <- c(1,2,3,4,5)

> vec02 <- c(6,7,8)

> vec03 <- c(vec01,vec02)  # 두개의 벡터 연결하기

 

 원소가 문자형인 경우

문자형을 만드는 경우에는 따옴표(‘) 또는 겹따옴표(“)를 이용합니다.

 

> c('one','two','three') # 문자형 벡터만들기

[1] "one" "two" "three“

> c("'one","two","three") # 문자형 벡터만들기

[1] "'one" "two" "three"

> c('one','two','th ree') # 문자형 벡터만들기

[1] "one" "two" "th ree“

 

 숫자와 문자를 합계 사용하면 문자형 벡터가 됩니다. 강제형변환이 됩니다.

> c(1,2,3,'one','two','three')

[1] "1" "2" "3" "one" "two" "three“

 

 as.character 함수를 이용하여 숫자를 문자로 바꿀 수 있습니다.

> vec01 <- c(1,2,3,4,5)

> vec03 <- as.character(vec01)

 

 (2) Sequence 연산자(:)를 이용하기

 

연속적으로 벡터를 만드는 방법으로 seq 함수를 이용할 수 있습니다.

시작 숫자와 마지막 숫자를 지정하고, by 문을 이용하여 증분치를 지정할 수 있습니다.

 

> seq(1:10) # 1에서 10까지 벡터를 만들기

[1] 1 2 3 4 5 6 7 8 9 10

 

> seq(10) # 1에서 10까지 벡터를 만들기

[1] 1 2 3 4 5 6 7 8 9 10

 

> seq(from=1,to=6) # seq 함수를 이용하기(1부터 6까지 )

[1] 1 2 3 4 5 6

> seq(from=1,to=6,by=1) # 1부터 6까지

[1] 1 2 3 4 5 6

> seq(3,-3,by=-1) # 3부터 -3 까지

[1] 3 2 1 0 -1 2 -3

> seq(1,2,by=0.3) # 1.0 부터 2 까지 0.3 씩 증가시킨다

[1] 1.0 1.3 1.6 1.9

> seq(1,10,length=4) # 1부터 10까지 4개의 원소, 1,4,7,10 (10-1)/3 간격

[1] 1 4 7 10

> seq(1,9,length=5) # 1 5.5 10.14.5 19 (19-1)/4  4.5 간격으로 5

[1] 1.0 5.5 10.0 14.5 19.0 # length를 지정하여 벡터의 개수를 지정

> seq(0.5,4.6)

[1] 0.5 1.5 2.5 3.5 4.5

 

(3) rep 함수를 이용하기

 

동일한 값이나 패튼을 중복하고자 할 때에는 rep( ) 함수를 이용합니다.

 

> rep(3,6) # 3,3,3,3,3,3 3 6번 반복하여 만들기

> rep(c(1,2),6) # 1,2 1,2 ... 1,2 1,2 6번 반복하여 12개 원소 만들기

> rep(3,times=6) # 3,3,3,3,3,3 3 6번 반복하여 만들기

> rep(c(1,2),times=6) # 1,2 1,2 ... 1,2 1,2 6번 반복하여 12개 원소 만들기

 

참고: rnorm(10) # 정규분포를 따르는 난수 만들기