3

twitteR パッケージの CRAN バージョンを使用して抽出した twitter データの操作に問題があります。特に、tm パッケージからの tolower 変換。

私はこの例に従っています

これは私が現在やっていることです:

#oauth handshake and so on work fine 
google_8.10<- searchTwitter("#Google", n=1500, cainfo="cacert.pem")
google_8.10_text <- sapply(google_8.10, function(x) x$getText())
google_8.10_text_corpus <- Corpus(VectorSource(google_8.10_text))
google_8.10_text_corpus <- tm_map(google_8.10_text_corpus, tolower) 
google_8.10_text_corpus <- tm_map(google_8.10_text_corpus, removePunctuation)
google_8.10_text_corpus <- tm_map(google_8.10_text_corpus,            function(x)removeWords(x,stopwords()))

他の変換は正常に完了します (tolower が実行されていない場合)。ただし、より低い変換は次を返します。

google_8.10_text_corpus <- tm_map(google_8.10_text_corpus, tolower)
    Warnmeldung:
In parallel::mclapply(x, FUN, ...) :
  all scheduled cores encountered errors in user code

これはいずれかのツイートのキャラクターが原因ではないかと疑っていますが、どうすれば問題を突き止めることができますか?

編集: 確かに、特定の文字がこれを引き起こしているようです。

"#Google #TheInternship THE BEST MOVIE EVER @Jeennyy01 @dylanobrien    I love this part \ud83d\ude1c http://t.co/iok5vm83cP"

ここで「\ud83d\ude1c」の部分がエラーの原因です。ツイートからこれらのフレーズ (これはhttp://www.charbase.com/1f61c-unicode-face-with-stuck-out-tongue-and-winking-eye ) を自動的に削除する方法についてのアイデアはありますか?

4

3 に答える 3

1

ソース によるとtolower、エラーが発生する可能性があります:

「バイト」マーク付きエンコーディングのサポート

nzchar と nchar(, "bytes") はエンコーディングに依存しません。

nchar(, "char") nchar(, "width") は NA (許可されている場合) またはエラーを返します。substr substr<- バイト単位で動作

chartr make.names strtrim tolower toupper を省略すると、エラーが発生します。

無効な UTF コード ポイントを使用してエラーがスローされる例を次に示します。

tolower("\udc80")
Error in tolower("<ed><U+00B2><U+0080>") : 
  invalid input 'í²€' in 'utf8towcs'
于 2013-10-08T13:47:46.447 に答える