본문 바로가기
R 주제/R 기초 및 통계 강의

[R강의] 119. 정수를 쪼개서 각각의 숫자를 벡터로 만들기 (strsplit)

by 만다린망고 2021. 7. 12.
반응형

 

 

12345 라는 수가 있습니다. 이 수를 c(1,2,3,4,5) 라는 벡터로 만들고 싶습니다.

 

숫자가 작을 때는 직접 하면 되는데 숫자가 커지면 힘들어집니다. 코드를 이용해서 해봅시다.

 

먼저 아래 숫자를 변수에 입력합니다.

 

a = 12345

 

위 숫자를 문자로 인식한 뒤 한 단어씩 나눠서 리스트로 만들어줍니다. 결과는 a_ch 라는 변수에 입력하겠습니다.

 

a_ch=strsplit(as.character(a), "")

 

콘솔창에서 확인해보면 아래와 같습니다.

 

> a_ch
[[1]]
[1] "1" "2" "3" "4" "5"

 

리스트인 것을 알 수 있습니다. 인덱싱을 통해 벡터로 만들어줍니다.

> a_ch2=a_ch[[1]]
> a_ch2
[1] "1" "2" "3" "4" "5"

 

as.numeric 를 이용하여 숫자벡터로 만들어줍니다.

 

> a_f=as.numeric(a_ch2)
> a_f
[1] 1 2 3 4 5

 

이해를 돕기 위해 여러 절차로 나눠서 설명하였습니다. 코드 한줄로도 변환이 가능합니다. 아래와 같습니다.

 

> a = 12345
>
> a_f=as.numeric(strsplit(as.character(a), "")[[1]])
> 
> a_f
[1] 1 2 3 4 5

 

반응형

댓글