2016-06-13 9 views
0

이 커뮤니티 덕분에 영화 스크립트에서 단어 구름을 만들 수 있었고 쉽고 쉬워졌습니다. 누군가 제가 영화 팬을 요청했기 때문에 대본을 발견하고 나는갔습니다.단어 구름을 위해 R에서 아포스트로피가 포함 된 구를 제거하십시오.

문제는 내가 제거하도록 코딩 한 단어가 몇 개 나타납니다. 그들은 'il, ve, re'와 같이 보입니다. 주요 아포스트로피에 주목하십시오. 나도 그것을 돌보는하지 않는 것 행운과 R의 removeWords 기능을 메모장에서 '위원장 ++ 검색을 시도했습니다

text = readLines("C:/Users/MyName/Downloads/Pan.txt",encoding="UTF-8") 

content2 = Corpus(VectorSource(text)) 
content2 = tm_map(content2, removeNumbers) 
content2 = tm_map(content2, tolower) 
content2 = tm_map(content2, removeWords, c("'il","'re","cont'd")) 
content2 = tm_map(content2, removeWords, stopwords('english')) 
content2 = tm_map(content2, removePunctuation) 
content2 = tm_map(content2,PlainTextDocument) 
wordcloud(content2, min.freq = 10, colors = RColorBrewer::brewer.pal(6,"Spectral"),max.words=150) 

:

여기 내 코드입니다. 나는 아포스트로피와 다른 특수 문자가 때로는 특별한 방법을 요구할 수도 있다는 것을 알고 있지만, 나는 여기에 붙어있다. 어떤 아이디어? http://pastebin.com/JiK3pF5f

감사합니다 :

여기에 관심이있는 경우 스크립트 소스입니다! 다음은 현재 클라우드라는 단어가 무엇인지 보여줍니다. 스타일링에 대한 의견도 있으면, 나는 모두 귀입니다.

enter image description here

답변

1

당신을 위해이 일을합니까? 방금 공백 제거를 추가했는데 예를 들어 보지 못했습니다. 'il

library(tm) 
library(wordcloud) 
text = readLines("~/Downloads/JiK3pF5f.txt", warn = F) 
content2 = Corpus(VectorSource(text)) 
content2 = tm_map(content2, removeNumbers) 
content2 = tm_map(content2, tolower) 
content2 = tm_map(content2, removeWords, stopwords('english')) 
content2 = tm_map(content2, removePunctuation) 
content2 = tm_map(content2, trimws) 
content2 = tm_map(content2, PlainTextDocument) 

wordcloud(content2, min.freq = 10, colors = RColorBrewer::brewer.pal(6,"Spectral"),max.words=150) 

결과 :

wordcloud

+0

보다 약간 더 나은 성능을 가지고 https://cran.r-project.org/web/packages/quanteda/vignettes/quickstart.html

을 불행하게도 예 그들이 아직 거기. 내가 정확한 코드를 실행했고 여기 내가 보는 것입니다. 밑바닥쪽에 're and'il이라는 알림이 있습니다. 단어 구름 사진을 게시 할 수 있습니까? http://i.imgur.com/4lG6Gkx.png?1 – user137698

+0

인코딩 일 수 있습니다. UTF-8 옵션을 사용하여 readLines() 부분을 제거했으며 이상한 결과가 나타났습니다. 또한 pastebin 파일을 사용하고 코드를 실행하면 어포 스트로피가 나타나야 할 때 TM이 나타납니다. – user137698

+1

흥미 롭다. 나는 이미지를 올렸다. 코퍼스에서 '일'의 예를 찾을 수 있습니까? – effel

0

는 당신이 그 문자를 대체 할 GSUB를 시도? 예를 들어 :

library(tm) 
library(wordcloud) 
text = readLines("~/Downloads/JiK3pF5f.txt", warn = F) 

text=gsub("'re", '', text) 

content2 = Corpus(VectorSource(text)) 
content2 = tm_map(content2, removeNumbers) 
content2 = tm_map(content2, tolower) 
content2 = tm_map(content2, removeWords, stopwords('english')) 
content2 = tm_map(content2, removePunctuation) 
content2 = tm_map(content2, trimws) 
content2 = tm_map(content2, PlainTextDocument) 

wordcloud(content2, min.freq = 10, colors = RColorBrewer::brewer.pal(6,"Spectral"),max.words=150) 

은 또한 당신은 Quanteda으로 시도 할 수 있습니다 : 그것은 또한 TM

+0

답장을 보내 주셔서 감사합니다. gsub 메서드는 나를 위해 작동하지 않았다. 나는 이유를 모른다. – user137698