R

[R] R에서 문자열 합치기 or list의 모든 element 하나로 합치기 (paste in R)

슈퍼짱짱 2019. 9. 17. 08:00
반응형

R에서 문자열 or list 한 문자열로 합치기 

(Convert list into a string in R)

(Concatenate vectors after converting to character in R)


R에서 특정 문자열을 하나로 합치고 싶을 때가 있다. 이때 paste or paste0 함수를 사용하면 된다.

paste에는 두 가지 형태의 함수가 있다.


paste (..., sep = " ", collapse = NULL)

paste0(..., collapse = NULL)


paste는 나열된 원소 사이에 공백을 기본으로 두고 출력하며, 

paste0는 공백없이 출력한다.

이때, sep 및 collapse는 각 원소 사이를 구분하는 파라미터이다. 자세한 예제는 아래서 설명하겠다.


1. 묶여있는 원소 하나로 출력하기


list형태 혹은 여러개로 묶인 character, numeric등의 원소를 하나로 합칠때는 collapse 매개변수를 활용한다.


다음과 같은 list가 있다고 할 때,


1
li <- list('S','U','P','P','E','R')
cs


> li

[[1]]

[1] "S"


[[2]]

[1] "U"


[[3]]

[1] "P"


[[4]]

[1] "P"


[[5]]

[1] "E"


[[6]]

[1] "R"


> length(li)

[1] 6


이를 paste로 묶으면 다음과 같다.


> paste(li)

[1] "S" "U" "P" "P" "E" "R"


> paste(li, collapse = "")

[1] "SUPPER"


> paste(li, collapse = "_")

[1] "S_U_P_P_E_R"


이때, paste(li, collapse = "")의 결과는 paste0(li)와 같다.


> length(paste(li))

[1] 6


> length(paste(li, collapse = ""))

[1] 1


2. 묶여있지 않은 원소들 하나로 출력하기


묶여있지 않은 원소들을 하나로 합칠 때는 sep 파라미터를 사용한다.


1
2
a <- "supper"
b <- "zzangzzang"
cs


> paste(a,b)

[1] "supper zzangzzang"


> paste(a,b, sep = "_")

[1] "supper_zzangzzang"


> paste0(a,b)

[1] "supperzzangzzang"


반응형