我在R中使用csv文件做了wordcloud。我在tm
包中使用了TermDocumentMatrix
方法。這裏是我的代碼:如何在r中讀寫TermDocumentMatrix?
csvData <- read.csv("word", encoding = "UTF-8", stringsAsFactors = FALSE)
Encoding(csvData$content) <- "UTF-8"
# useSejongDic() - KoNLP package
nouns <- sapply(csvData$content, extractNoun, USE.NAMES = F)
#create Corpus
myCorpus <- Corpus(VectorSource(nouns))
myCorpus <- tm_map(myCorpus, removePunctuation)
# remove numbers
myCorpus <- tm_map(myCorpus, removeNumbers)
#remove StopWord
myCorpus <- tm_map(myCorpus, removeWords, myStopwords)
#create Matrix
TDM <- TermDocumentMatrix(myCorpus, control = list(wordLengths=c(2,5)))
m <- as.matrix(TDM)
這個過程似乎花費了太多時間。我認爲extractNoun
是花費太多時間的原因。爲了使代碼更省時,我想將結果TDM保存爲文件。當我讀取這個保存的文件時,我可以完全使用m <- as.matrix(saved TDM file)
嗎?或者,還有更好的選擇嗎?
感謝您的回覆! 它的工作! 祝你有美好的一天〜 –
你能回答多一個問題嗎?如果你不介意。 正如你所說,我使用'parallel'。但是這似乎會帶來巨大的內存泄漏。所以我使用'gc()'作爲臨時措施。你有過這樣的經歷嗎?如果是這樣,有沒有辦法? –
我沒看到。這取決於系統。如果你使用windows也許'cl <-makeCluster(no_cores,type =「FORK」)',但我沒有使用Windows自XP – pachamaltese