- このトピックには4件の返信、2人の参加者があり、最後にApepirmにより3年、 6ヶ月前に更新されました。
-
投稿者投稿
-
2019年1月27日 6:08 PM #1568hiroゲスト
はじめまして。
wordcloudについて、2つの質問になります。
ReCabおよびRMeCabインストール手順
///////////////////////////////////////////
OSは、windows10、
MeCabはmecab_0.996.exeにて、
RMeCabは、install.packages(“RMeCab”, repos = “http://rmecab.jp/R”)です。
///////////////////////////////////////////□質問(1)
特定の文字、例えば”本”を含むテキストでwordcloudを実行すると、
「tolower(txt)でエラー:43は不正なマルチバイト文字です。」のエラーとなり図示されません。
特定の文字、例えば”本”を除くと、wordcloudにて図示されます。文字コードが原因と考えています。detectEncoding()で確認すると、RMeCabCの前後で、SHIFT-JISからwindows-1252に変化しています。
iconv(data,from=”shift-jis”,to=”windows-1252″)を行うと、””(空)になります。
Sys.setlocale(“LC_ALL”,”windows-1252″)を行うと、受け入れらなれません。
尚、MeCabのプロパティ/現在のコードページは、932(ANSI/OEM-日本語 Shift-JIS) です。特定の文字があっても、wordcloudにて図示する方法について、ご教示いただけますと幸いです。
□質問(2)
質問(1)で特定の文字、例えば”本”を削除すると、図示されるのですが、文字化けが生じています。
英数字は正しく表示されますが、カタカナ・ひらがな・漢字が正しく表示さません。
wordcloudにて日本語が文字化けせずに図示する方法について、ご教示いただけますと幸いです。はじめは、質問(1)の問題だけで特定の文字を取り除くと日本語も正しく図示されていたのですが、
再インストールを行なった後は質問(2)の現象が発生しました。
///////////////////////////////////////////
R version 3.5.2 (2018-12-20)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 10 x64 (build 17134)Matrix products: default
locale:
[1] LC_COLLATE=Japanese_Japan.932 LC_CTYPE=Japanese_Japan.932
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C
[5] LC_TIME=Japanese_Japan.932attached base packages:
[1] stats graphics grDevices utils datasets methods baseother attached packages:
[1] wordcloud_2.6 RColorBrewer_1.1-2 RMeCab_1.00 Ruchardet_0.0-3.1
[5] RPostgreSQL_0.6-2 DBI_1.0.0loaded via a namespace (and not attached):
[1] compiler_3.5.2 parallel_3.5.2 NLP_0.2-0 Rcpp_1.0.0 slam_0.1-44
[6] xml2_1.2.0 tm_0.7-6
///////////////////////////////////////////2019年1月30日 11:26 AM #1569ishidaキーマスター石田です。
まず質問1ですが、対象テキストの中身の詳細がわからないのでなんと言えませんが、
「本」という文字が問題なのではなく、その前後におそらくは絵文字の類がはいっているのではないかと思います。windows-1252と判定されるのは、detectEndoding()が正しく判定できていないからです。一番簡単なのは、Windows上のエディタで開いて、明示的にShift-Jisを指定して保存し直すことです。ここ場合、特殊文字は?に置換されます。
もしも、絵文字も分析上、重要となると、ファイルをUTF-8で保存し、Rで読み込んだ際、特殊文字をUnicodeあるいはバイナリ表示に変えて利用することです。
Windowsでは以下のようにすれば、特殊文字だけ16進コードに置き換えられます。x <- readLines("file") for( s in x) { iconv(s, from = "UTF-8", to = "CP932", sub = "byte") write(s, file = "converted", append = TRUE) }
質問2についても、こちらもWindows上では特に設定なくひらがな感じが表示されるはずなのですが、
一応、ユーザーホームに .Rprofileを作成することを試してください。ちなみに以下を実行すると、自動的に作成してくれます。
source("http://rmecab.jp/R/Rprofile.R")
2019年1月30日 9:27 PM #1570hiroゲスト回答ありがとうございます。
対象のファイルはwindowsのメモ帳で文字コードANSIで作成しました。
指示頂いた明示的な保存のためTeraPadにてSHIFT-JISで保存後、wordcloudを行いましたが、
質問(1)、質問(2)の問題は解消されませんでした。
誤った対応、または他対処法等あれば、ご教示いただけますと幸いです。以上、よろしくお願いします。
2019年1月31日 11:13 AM #1572ishidaキーマスター以下のコードをWindowsのRで実行してプロットに日本語が表示されますか?
source("http://rmecab.jp/R/Aozora.R") x <- Aozora("http://www.aozora.gr.jp/cards/000081/files/43754_ruby_17594.zip") library(RMeCab) z <- docDF(x, type = 1) library(wordcloud) wordcloud(z$TERM, z$chumonno_oi_ryoriten2.txt)
- この返信は5年、 9ヶ月前にishidaが編集しました。
2019年2月2日 11:13 PM #1574hiroゲスト教えて頂いたプログラムにて、漢字、ひらがな文字化けなく図示できました。
問題はファイルではなく、以下のプログラムにあったようです。
x1<-read.table(“x.txt”);x2<-RMeCabDF(x1);x3<-unlist(x2)
;wordcloud(x3,min.freq=3,random.order=FALSE)ありがとうございました。
-
投稿者投稿
- フォーラム「RMeCab」には新規投稿および返信を追加できません。