2016-06-30 18 views
1

RのSTMパッケージに問題があります。Quantumにコーパスを構築しましたが、STM形式に変換したいと思います。私は独立したCSVファイルとしてメタデータを保存しており、テキスト・ドキュメントとメタデータをマージするコードが必要です。 readCorpus()と「変換()関数は、自動的にコーパスにメタデータ情報を追加しないSTMへのメタデータの追加R

これはQuantedaでどのように見えるか:。

EUdocvars <- read.csv("EU_metadata.csv", stringsAsFactors = FALSE) 

EUdocvars$Period <- as.factor(EUdocvars$Period) 
EUdocvars$Country <-as.factor(EUdocvars$Country) 
EUdocvars$Region <- as.factor(EUdocvars$Region) 

EUCorpus <- corpus(textfile(file='PROJECT/*.txt'), encodingFrom = "UTF-8-BOM") 
docvars(EUCorpus) <- EUdocvars 

EUDfm <- dfm(EUCorpus) 

が同じことを行う方法がありますSTMパッケージを使用して

答えて

0

stmオブジェクト(リスト)の要素は、寸法number of documents x number of covariatesのデータフレームをとる$metaと呼ばれていますので、あなたの問題のために:?。

EUCorpus$meta <- EUdocvars 
+0

お世話になりました。ありがとうございました。私はまだ問題があります。パッケージを使用してSTMを実行する準備が整ったデータとメタデータを使用してコーパスを作成する方法について教えてください。ありがとうございました – Ricardo

2

https://github.com/kbenoit/quanteda/issues/209をアドレス指定した直後に、このサポートが追加されました(v0.99)。

だから、これは動作するはずです:

EUstm <- convert(EUdfm, to = "stm", docvars = docvars(EUCorpus)) 

そしてEUstmあなたはSTMモデルを当てはめるために必要metaを含むすべての要素を持っています。

+0

ありがとうございます。もう一つ質問があります。そこから、STMモデルを作成する最良の方法は何でしょうか?私は出力がTDMになっているのでこれを尋ねます。これを次のような形式でどのように抽出する必要がありますか? "stm(ドキュメント、ボキャブ、K、流行)" – Ricardo

+0

'stm(EUdfm $ documents、EUdfm $ボキャブ、K、EUdfm $有病率) ' –

+0

もう一度お返事ありがとうございます!私はそれを試しましたが、それが出ました stmのエラー(EUstm $ documents、EUstm $ vocab、K、EUstm $有病率): Wordのインデックスは正の整数ではありません – Ricardo

関連する問題