人気ブログランキング | 話題のタグを見る
twitteRを久しぶりに使用したら文字化けしていた件
R言語でtwitteRを使用している場合、以下の条件で文字化けします。
  • Windowsを使用している場合。
  • twitteRのバージョンが1.1.7 (2013/7/8)以降のリリースの場合

そしてこの文字化けしたデータはiconvで修復できない

原因
以下のバグを修正したのが原因
Problems with non UTF-8 and ASCII characters twitteR package in R

comm.R
twFromJSON = function(json) {
  #twitter sends data in UTF-8, paranoidly confirm encoding
  json = iconv(json, "", "UTF-8", sub="")

これは取得したJSONデータでUTF-8に変換できない文字を削除しています。
Windows(日本語)の場合、cp932からutf8に変更してしまうのです。
そして、subを指定して変更できない文字は全部消してしまうので、もとに戻すことはできません。

対策
1. 1.1.6に戻す。以下からダウンロード
 http://cran.r-project.org/src/contrib/Archive/twitteR/
 
2. 1.1.7のソースでさっきのiconvをコメントアウトする

なお、以下のページから開発中のコードを取得できるが、大きく修正をいれようとしていて、不安定そうなので今の時点では、やめたほうがいい。
https://github.com/geoffjentry/twitteR


パッケージのビルド
いづれの対策の場合でも、ソースコードをビルドしてインストールするひつようがある。
rcmd INSTALL --build -l ライブラリをおいているのパス パッケージのパス

このコマンドはコマンドプロンプトから実行する必要がある。rcmdは"C:\Program Files\R\R-3.1.2\bin\x64\Rcmd.exe"に存在する
※32bitの場合はC:\Program Files\R\R-3.1.2\bin\i386

2014/12/17 以下の方法で最新をいれても文字化けは解消されます。

http://qiita.com/mima_ita/items/192df262a89af1f6932c


by mima_ita | 2013-11-29 20:25 | R
<< 64bitOSでAnyCPUで... 朝日新聞の 特定秘密保護法案の... >>



実験ですお

by mima_ita
検索
カテゴリ
最新の記事
.NET4.5におけるasy..
at 2014-07-02 00:46
.NETでTwitterを検..
at 2014-06-29 00:49
Redmineのプラグインで..
at 2014-06-28 03:29
IO.popenのwrite..
at 2014-06-28 03:25
RedmineのWikiでU..
at 2014-06-28 03:16
以前の記事
最新のトラックバック
その他のジャンル
ブログパーツ