[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.

Comments