Rを使用してTMパッケージで作業しているときに、以下のエラーが発生します。
_library("tm")
Loading required package: NLP
Warning messages:
1: package ‘tm’ was built under R version 3.4.2
2: package ‘NLP’ was built under R version 3.4.1
_
corpus <- VCorpus(DataframeSource(data))
エラー:all(!is.na(match(c( "doc_id"、 "text")、names(x))))はTRUEではありません
パッケージの再インストール、新しいバージョンのRでの更新など、さまざまな方法を試しましたが、エラーが引き続き発生します。同じデータファイルの場合、同じコードが同じバージョンのRを持つ別のシステムで実行されます。
tm
パッケージを0.7-2バージョンに更新したときに、同じ問題が発生しました。 DataframeSource()
の詳細を探しました、それは言及しました:
最初の列には「doc_id」という名前を付け、各ドキュメントの一意の文字列識別子を含める必要があります。 2番目の列には「text」という名前を付ける必要があります。
詳細
データフレームソースは、データフレームxの各行をドキュメントとして解釈します。最初の列には「doc_id」という名前を付け、各ドキュメントの一意の文字列識別子を含める必要があります。 2番目の列には「text」という名前を付け、ドキュメントのコンテンツを表す「UTF-8」でエンコードされた文字列を含める必要があります。オプションの追加列は、ドキュメントレベルのメタデータとして使用されます。
私は次のコードでそれを解決しました:
df_cmp<- read.csv("test_file.csv",stringsAsFactors = F)
df_title <- data.frame(doc_id=row.names(df_cmp),
text=df_cmp$English.title)
列名をdoc_id
およびtext
に変更してみてください。