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"
'R' 카테고리의 다른 글
[R] Nelson Rules in R (5) | 2020.02.04 |
---|---|
[R] R에서 eval() 함수로 표현식 실행하기 (eval in R) (0) | 2019.09.18 |
[R] 수평선, 수직선 in ggplot (add horizontal line, vertical line in ggplot2) (0) | 2019.09.05 |
[R] 막대그래프란? R에서 막대그래프 그리기 (Bar Chart in R) (0) | 2019.09.01 |
[R] 파이차트란? R에서 파이차트 그리기 (Pie Chart in R) (2) | 2019.08.31 |