[R] 문자열 합치기: Paste 함수
2018. 6. 4. 11:54
R에는 여러 문자열을 연결시킬 수 있는 함수로 paste()
가 있다. paste() 함수는 기본적으로 다음과 같이 쓸 수 있다.
paste(c("char1", "char2", ...), sep = "")
- sep 안에는 단어 사이에 무엇이 구분자가 될지를 지정한다.
- sep가 지정되지 않는다면 기본적으로 공백이 구분자가 된다.
paste0
함수는 문자 간 공백을 두지 않는다.아래에 예제에서 확인할 수 있듯, 둘 이상의 벡터를 연결시킨다면 기본적으로 벡터의 원소 대 원소(element-wise)를 기준으로 하여 문자열이 연결된다.
paste(c("Statistics"), "R")
## [1] "Statistics R"
paste(c("a", "b", "c"), c("x", "y", "z")) # element-wise
## [1] "a x" "b y" "c z"
paste(c("a", "b", "c"), c("x", "y", "z"), 100, sep = " or ")
## [1] "a or x or 100" "b or y or 100" "c or z or 100"
a <- c("Hello", "World")
b <- c(",", "!")
paste0(a, b)
## [1] "Hello," "World!"
- 서로 다른 길이의 벡터를 연결시킨다면, 길이가 짧은 벡터가 긴 벡터를 채우게 된다. 아래의 예제에서 확인해 보자.
collpase = ""
argument는 합쳐진 벡터 문자열들 사이의 구분자를 지정하며,paste()
로 생성된 벡터의 길이를 1로 만들어 준다. 예컨대paste(c("a", "b"), c("x", "y"), sep = " and ")
는 두 개의 문자열"a and b", "b and y"
를 출력하는데,paste(c("a", "b"), c("x", "y"), sep = " and ", collapse = " ")
는 하나의 문자열"a and x b and y"
을 출력해 준다. 즉, paste()의 반환값이 문자열 한 개가 된다. 아래의 예제에서 확인해 보자.
paste(c("a", "b"), c("x", "y"), sep = " and ")
## [1] "a and x" "b and y"
length(paste(c("a", "b"), c("x", "y"), sep = " and "))
## [1] 2
paste(c("a", "b"), c("x", "y"), sep = " and ", collapse = " ")
## [1] "a and x b and y"
length(paste(c("a", "b"), c("x", "y"), sep = " and ", collapse = " "))
## [1] 1
'기타 공부' 카테고리의 다른 글
[R] 조건문 (if) (1) | 2018.06.05 |
---|---|
[R] 자료 객체 (4): 데이터 프레임, 리스트 (0) | 2018.06.04 |
[R] 함수 만들기 기초 (0) | 2018.06.03 |
[R] 자료 객체 (3): 배열 (array) (0) | 2018.06.03 |
[R] identical, all equal 함수의 차이 (0) | 2018.05.27 |