RMeCabを使ってwordcloudを作る
(1)RMeCabをインストール
install.packages("RMeCab", repos = "http://rmecab.jp/R")
※場合によっては管理者権限でRを起動する必要あり(ショートカットを右クリックから)
(2)"tm"と"wordcloud"をpackagesのメニューからインストール
(3)パッケージの読み込み
library(wordcloud)
library(RMeCab)
(3)分析対象を決める
分析対象のテキストをマイドキュメント(Rが自動で参照できるフォルダ)に設置。
ここではdata.txtとした。
(4)RMeCabで頻度を解析
data.freq=RMeCabFreq("data.txt")
→結果はこのようになる。
Term Info1 Info2 Freq
1 え フィラー * 1
2 ありがとう 感動詞 * 1
3 おお 感動詞 * 1
4 はい 感動詞 * 1
5 C 記号 アルファベット 1
6 ・ 記号 一般 29
(5)データのフィルタリング
data.sub=subset(data.freq, Info1=="名詞" | Info1=="動詞", c(Term,Freq))
# 名詞か動詞を指定。条件には「|」(or)か「&」を使う(||、&&は不可)
#subsetはデータフレームから条件を指定してデータを抜き出せる関数。
#subset(データ,条件(列名で指定可能),出力列)
data.sub2=subset(data.freq, Info1=="名詞" & Info2!="数", c(Term, Freq))
#名詞を指定、数を除外
(6)描画
wordcloud(data.sub[,1], freq=data.sub[,2], min.freq=3,random.order=F)
#一つ目で単語の行、freq=で単語の頻度、min.freqで最低頻度、random.orderで配置を決める
★色をつける
wordcloud(data.sub[,1],freq=data.sub[,2],min.freq=3,random.order=F, color=c("pink","yellow","green", "blue", "red"))
#右が頻度大の色
wordcloud(data.sub[,1],freq=data.sub[,2],min.freq=3,random.order=F, color=rainbow(7))
#rainbowで色数を指定
★データの書き出し
write.table (data, file = "data.txt", sep = "\t", quote = FALSE, row.names = FALSE)