3 분 소요


※ 문자열 핸들링 패키지: stringr

  • 텍스트전처리 / 텍스트마이닝 등 문자열 핸들링 패키지
  • 함수명은 보통 str로 시작함

■ str_length

  • 문자열의 개수 반환
> str_length()


■ str_to_upper / str_to_lower / str_to_title / str_to_sentence

  • 문자열의 대소문자 변경

□ str_to_upper

  • 문자열 전체를 대문자로 변경
> str_to_upper()

□ str_to_lower

  • 문자열 전체를 소문자로 변경
> str_to_lower()

□ str_to_title

  • 문자열 모든 단어들의 첫번째 알파벳들을 대문자로 변경
> str_to_title()

□ str_to_sentence

  • 문자열 첫 단어의 첫 알파벳만 대문자로 변경
> str_to_sentence()


■ str_trim / str_pad

□ str_trim

  • 문자열 앞/뒤의 공백 제거
  • parameter
    • side : 공백을 제거할 위치 (“both” / “left” / “right”)
> str_trim(string, side = c("both" / "left" / "right"))

□ str_pad

  • 문자열 앞/뒤에 공백 또는 다른 문자를 추가
  • parameter
    • width : 기존 문자열 포함 총 문자열의 길이 지정
    • side : 공백/문자를 삽입할 위치 (“both” / “left” / “right”)
    • pad : 삽입할 문자열 (default = “ “)
> str_pad(string, width, side = c("both" / "left" / "right"), pad = " ")


■ str_trunc

  • 문자열 자르기
  • 문자열 중 앞에서 몇 개만 출력할 것인지
  • parameter
    • width : 출력할 총 문자열의 개수 (“…” 3글자 포함)
    • side : 생략할 위치 (“center” / “left” / “right”)
    • ellipsis : 생략 후 대신 삽입할 문자열 (default = “…”)
> str_trunc(string, width, side = c("right", "left", "center"), ellipsis = "...")


■ str_spit / str_c

□ str_split

  • 문자열 분할
  • parameter
    • pattern : 어떤 패턴으로 문자열을 분할할지
> str_split(string, pattern)

□ str_c

  • 문자열 통합
  • parameter
    • sep : 어떤 구분자로 문자열을 통합할지 문자열 사이에 삽입할 구분자
    • collaspe : 문자열이 포함된 하나의 벡터를 어떤 구분자로 통합하고자 할 때
> str_c(string, sep = "", collapse = NULL)
# 실사용 예시
> str_c('join', 'this', sep = "_")
[1] "join_this"

## 하나씩 매칭하여 구분자로 문자열 통합
> str_c(c('join', 'this'), c('club', 'book'), sep = ".")
[1] "join.club" "this.book"

## 다음 두 줄은 같은 결과값 출력
> str_c('turn', 'me', sep = "★")
> str_c(c('turn', 'me'), collapse = '★')
[1] "turn★me"


■ str_replace_na

  • NA를 찾아 문자 “NA”로 변경함
> str_replace_na()


■ str_sort

  • 문자열의 순서 정렬
  • parameter
    • decreasing : 내림차순 지정 (default = FALSE)
> str_sort(string, default = FALSE)


■ str_detect / str_which

  • parameter
    • pattern : 찾고자 하는 문자(패턴)

□ str_detect

  • 찾고자 하는 문자가 포함된 문자열이 있는지 TRUE/FALSE 반환
> str_detect(string, pattern)

□ str_which

  • 문자로 이루어진 벡터에서, 찾고자 하는 문자가 포함된 문자열의 인덱스 반환
> str_which(string, pattern)


■ str_count / str_locate / str_locate_all

□ str_count

  • 문자열 안에서, 찾고자 하는 패턴이 발생하는 횟수를 세어줌
> str_count(string, pattern)

□ str_locate

  • 찾고자 하는 문자열의 시작 번호와 끝번호 출력 (처음으로 나오는 문자만)
> str_locate(string, pattern)

□ str_locate_all

  • 찾고자 하는 문자열의 시작 번호와 끝번호 출력 (찾고자 하는 문자 전부)
> str_locate_all(string, pattern)


■ str_extract / str_extract_all

  • 찾고자 하는 문자를 “|“로 구분

□ str_extract

  • 문자열에서 원하는 패턴에 해당하는 첫 번째 부분 문자열을 추출
> str_extract(string, pattern)

□ str_extract_all

  • 문자열에서 원하는 패턴에 해당하는 문자열을 모두 추출
> str_extract_all(string, pattern)


■ str_subset / str_sub

  • 문자열 자르기

□ str_subset

  • 찾고자 하는 문자가 포함된 문자열(요소)만 추출
  • parameter
    • pattern : 찾고자 하는 문자(패턴)
> str_subset(string, pattern)

□ str_sub

  • 찾고자 하는 문자의 시작번호와 끝번호 지정 후 출력
  • parameter
    • start : 문자열이 시작하는 번호
    • end : 문자열이 끝나는 번호
> str_sub(string, start, end)


■ str_replace / str_replace_all

  • 다른 문자로 대체
  • parameter
    • pattern : 찾고자 하는 문자(패턴)
    • replacement : 대체하고자 하는 문자(패턴)

□ str_replace

  • 문자열에서 원하는 문자(패턴)을 찾아 첫 번째 문자(패턴)만 대체
> str_replace(string, pattern)

□ str_replace_all

  • 문자열에서 원하는 문자(패턴)을 찾아 모두 대체
> str_replace_all(string, pattern)


■ str_glue

  • 문자열 삽입
  • {} 안에 삽입할 문자열 입력
    • {} 안에 들어갈 문자열은 서로 길이가 같은 벡터이거나, 한쪽이 길이가 1이어야 함
    • {} 안에서 사칙연산도 가능함
> str_glue()
# 실사용 예시
> str1 <- c("Mike", "Johnson")
> str2 <- c("student", "doctor")
> str_glue('my name is {str1} and I am {str2}.')

my name is Mike and I am student.
my name is Johnson and I am doctor.

> min <- 18
> max <- c(1,5,4)
> str_glue('age is {min + max}')

age is 19
age is 23
age is 22

댓글남기기