web-dev-qa-db-ja.com

RでTMパッケージのVCorpusを使用中にエラーが発生しました

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を持つ別のシステムで実行されます。

8
Saharsh Gandhi

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に変更してみてください。

15
Eva