タイトルまま。形態素解析した結果のCSV読み込んでやる。色々あると思いますがとりあえず↓の感じ。
#ライブラリ library(text2vec) library(LDAvis) #ワーキングディレクトリ setwd("C:\\tmp\\hoge") wdata <- read.csv("data1.csv",header=F,stringsAsFactors=F) wdata.ids <- as.list(wdata[,1]) wdata.word <- read.csv("data2.csv",header=F,stringsAsFactors=F) it <- itoken(wdata.word$V1, ids = as.character(wdata.ids)) v = create_vocabulary(it) #これ!!! v$term <- iconv(v$term,from="cp932",to="UTF-8") dtm = create_dtm(it, vocab_vectorizer(v)) lda_model = LDA$new(n_topics = 9) ldaRes = lda_model$fit_transform(dtm, n_iter = 500) lda_model$plot()
text2vecを使ったんですが、日本語でやる場合、create_vocabularyのところで、中のtermがunicodeのエスケープ文字に変換されてしまい、そのあとの関数が軒並みダメになる。なので、「iconv(v$term,from="cp932",to="UTF-8")」で文字を戻す必要あり。
最初、utf-8に変換されてるのかと思い、「iconv(v$term,from="UTF-8",to="cp932")」←こう書いてたんだけど上手くいかず。読み込みデータの文字コード色々変えたり試行錯誤した結果、逆だったという事です。はまった。
あと、CSV読み込むときは、「stringsAsFactors=F」←これ付けないと、factor扱いになって、後続の関数が動かない。要留意。