[R] 문자열 처리
반응형
이번 포스팅에서는 R에서 자공하는 많은 문자열 함수 중 일부만 아주 간단히 체크하겠습니다. 드물지는 않지만 필요하실 때가 있으실수도 있을 것 같아서 올려봅니다. 많은 선택적인 인수는 생략할 것이기 때문에 이 점을 염두해주세요!
1. 특정 부분 문자열 찾기
grep()
함수는 문자열 벡터에서 특정 부분 문자열 패턴을 찾기 위한 함수입니다.grep()
함수에 대한 출력물로는 특정 패턴을 지니고 있는 벡터의 위치(index)가 출력됩니다.- pattern : 찾고자 하는 문자열의 패턴
- x : 문자열 벡터
x <- c("A1", "A2", "B1", "B2", "A3", "C1", "C2", "B3", "A4", "C3") grep("A", x)
## [1] 1 2 5 9
- A라는 패턴이
x
벡터에서 첫 번째, 두 번째, 다섯 번째, 아홉 번째에 위치하고 있습니다.
grep(pattern, x)
2. 문자열의 길이 파악
nchar()
함수는 문자열 벡터x
의 길이를 출력합니다.- 문자열 벡터 안에 띄어쓰기가 있다면 그것 또한 길이 1로 받아들여집니다.
- 문자열이 아닌 일반적인 객체에 대해 보다 일관성 있는 결과를 얻고 싶다면
stringr
패키지를 이용하시면 됩니다.## [1] 10
nchar("stat istics")
## [1] 11
-
nchar("statistics")
3. 여러 문자열을 하나로 합치기
paste()
함수는 여러 문자열을 하나의 긴 문자열로 합쳐줍니다.- sep : 여러 문자열을 이어줄 때 구분자를 설정합니다.
x <- "HUFS" y <- "statistics" paste(x, y)
## [1] "HUFS statistics"
paste(x, y, sep = "")
## [1] "HUFSstatistics"
paste(..., sep = " ")
4. 주어진 형식에 맞춰 문자열을 조합하기
sprintf()
함수는 형식이 맞춰 문자열을 조합하는 함수입니다.## [1] "The sqaure of 8 is 64"
sprintf("%e, %e", 1, 10)
## [1] "1.000000e+00, 1.000000e+01"
sprintf("%f times 10 is %f", 1, 10)
## [1] "1.000000 times 10 is 10.000000"
-
sprintf("The sqaure of %d is %d", 8, 8^2)
5. 부분 문자열 추출
substr()
함수는 주어진 문자열 벡터x
에서 시작점부터 끝점까지의 범위에 위치한 부분 문자열을 추출합니다.- 주로 시계열 데이터를 다루면서 조건에 맞는 날짜를 뽑을 때 주로 쓰일 수 있습니다.
- x : 문자열 벡터
- start : 문자열의 시작점 위치
- stop : 문자열의 끝점 위치
x <- "12JUL2017" substr(x, start = 3, stop = 5)
## [1] "JUL"
substr(x, start = 1, stop = 2)
## [1] "12"
substr(x, start = 6, stop = 9)
## [1] "2017"
substr(x, start, stop)
6. 특정 기준으로 부분 문자열 리스트 만들기
strsplit()
함수는 문자열 벡터x
에서 특정 기준으로 문자열을 나눠 부분 문자열의 리스트를 출력해주는 함수입니다.- x : 문자열 벡터
- split : 특정 기준 설정
x <- "2017-07-12" strsplit(x, split = "-")
## [[1]] ## [1] "2017" "07" "12"
strsplit(x, split)
반응형
'Basic' 카테고리의 다른 글
[R] apply 계열 함수 (0) | 2017.10.06 |
---|---|
[R] ggplot2 활용 데이터 시각화 예시 (0) | 2017.08.17 |
[R] 추정 및 검정 (0) | 2017.07.12 |
[R] 상관 분석 (0) | 2017.07.07 |
[R] 적합도 검정 (0) | 2017.07.04 |
TAGS.