본문 바로가기

Programming/R

[R 텍스트마이닝] 전처리를 위한 gsub 코드, 정규식 표현

1. gusb 사용법

ex.

a <- "Welcome to my blog. Let's be exponential successor! Again, welcomee!"
gsub('blog', 'space', a)
[1] "Welcome to my space. Let's be exponential successor! Again, welcomee!"

gsub 코드로 'blog'를 'space'로 바꾸고 싶다고 코드를 썼으니

'Welcome to my blog'가 'Welcome to my space'로 바뀐 것!

 

2. 정규식

출처 :&nbsp;https://data-make.tistory.com/44

언제 필요한가? - for ex.

교육으로 끝나는 단어들을 교육이라고 바꾸고 싶어!

처럼 특정 단어를 바꾸고 싶은 것이 아니라,

특정 단어로 시작하는 것이나 끝나는 것과 같은 상황에서 사용

 gusb('교육\\S', '교육', data)

 

//s//S 의 차이점

a <- "Welcome to my blog. Let's be exponential successor! Again, welcomee!"

> gsub('come\\s','welcome',a)
[1] "Welwelcometo my blog. Let's be exponential successor! Again, welcomee!"

a <- "Welcome to my blog. Let's be exponential successor! Again, welcomee!"
gsub('come\\S','come',a)
[2] "Welcome to my blog. Let's be exponential successor! Again, welcome!"

\\s 는 공백이 있는 것이므로 맨 앞에 있는 welcome에 gusb가 적용이 되었다.

뒤에 나오는 welcomee는 맨 뒤에 e가 있어서 공백이 없어 적용되지 않았다.

따라서 '학습 관리', '학습 부진' 처럼 두 단어 사이에 띄어쓰기가 있는 특정 앞 단어를 바꾸고 싶다면 \\s

'중요한', '중요하게'처럼 띄어쓰기가 없는 앞 글자를 바꾸고 싶다면 \\S를 사용하면 된다.