클로이의 데이터 여행기

[R] R을 이용한 텍스트마이닝_'stringr' package 본문

R

[R] R을 이용한 텍스트마이닝_'stringr' package

징느K 2019. 4. 19. 08:00

안녕하세요. 오늘 다룰 내용은 stringr이라는 패키지 입니다.

이전 포스팅까지는 R를 다룰 때 기본이 되는 데이터형식에 대해 다루었는데요. 이번 포스팅부터는 실제로 텍스트 마이닝을 하기위해 활용될 패키지들을 하나씩 살펴보려고 합니다.

가장 먼저 살펴볼 것은 stringr이라는 패키지입니다. 문자열을 처리하는 아주 효율적인 패키지 중 하나입니다.문자열에서 원하는 문자의 위치를 찾거나, 또 원하는 문자의 개수를 찾는 등 기본적이지만 매우 중요한 방법부터 다루어 보겠습니다. 

 

0. 문자열 선언

 sentence = c("안녕하세요. 제 이름은 징느곽입니다")

    ▶  데이터조작을 위해 문자열 sentence를 선언합니다.

 

 

1. 매칭여부 확인

 str_detect(string = sentence, pattern = "징느곽")

    ▶  찾고자 하는 패턴이 문자열에 있는지 확인하여 True,False값으로 도출됩니다.

 

 

2. vector 인덱스값 구하기

 ① grep("징느곽", sentence)

    ▶  vector 값의 몇번째에 원하는 패턴이 있는지 찾습니다.

 ② grep(pattern = "징느곽", x = sentence)
    ▶  vector 값의 몇번째에 원하는 패턴이 있는지 찾습니다.

1개의 vector로 이루어져 있기 때문에 '1'이 도출됩니다.

 

 

③ sentence2 = c("안녕하세요.", "저는", "징느곽입니다")
    ▶  여러개의 vector 값을 가질 수 있도록 데이터를 다시 셋팅합니다.

④ grep("징느곽", sentence2)

    ▶  여러개의 vector 중 찾고자 하는 패턴이 어디에 있는지 찾습니다.

 

 

3. 매칭문자열 바꾸

 str_replace(sentence, pattern = "안녕하세요.", replacement = "안녕?")

    ▶ 원하는 문자열을 찾아 원하는 패턴으로 바꿉니다.

 

4. 문자열 붙이기_띄어쓰기 포함

 paste(sentence, "쓸모있는 블로그가 되었으면 좋겠습니다.")

    ▶ 문자열을 붙일 때, 기존 문자열에 띄어쓰기를 포함하여 붙입니다.

 

5. 문자열 붙이기_띄어쓰기 없음

 paste0(sentence, "쓸모있는 블로그가 되었으면 좋겠습니다.")

    ▶ 문자열을 붙일 때, 기존 문자열에 띄어쓰기를 포함하지 않고 붙입니다.

 

 

6. 특정 위치 문자열 가져오기

 str_sub(sentence, start = 4, end = 7)

    ▶ 위치값을 기준으러 어떤 문자열이 있는지 확인힙니다.

 

 

7. 해당 패턴이 나오는 마지막 위치 구하기

 str_locate(sentence, "입니다")

    ▶ 원하는 패턴이 나오는 마지막 위치를 구합니다.

 

 

8. 해당 패턴이 나오는 모든 위치 구하기

 str_locate_all(sentence, "니다")

    ▶ 원하는 패턴이 나오는 모든 위치를 구합니다.

 

9. 구분자에 따라 나누기

str_split_fixed(sentence, pattern = " ", n = Inf)

    ▶ 구분자에 따라 나누어 백터로 담습니다.

 

이상입니다.

읽어주셔서 감사합니다 :^)

Comments