2016-07-13 11 views
1

これは私が私のTDM行列を得た方法である:TDM行列にダミー変数を追加

  doc1 doc2 doc3 ... doc10000 

    term1 .  1  1 ...  1 
    term2 .  .  1 ...  . 
    ... 
    term99 1  .  1 ...  1 

私は何をしたいことは次のとおりです:

   doc1  doc2 doc3 ... doc10000 class  
    term1   .  1  1 ...  1  1 
    term2   .  .  1 ...  .  0 
    ... 
    term99   1  .  1 ...  1  0 

doc.vec <- VectorSource(data$text) 
    doc.corpus <- Corpus(doc.vec) 
    tdm <- TermDocumentMatrix(doc.corpus, control = list(wordLengths = c(2, Inf))) 

私のオリジナルのTDM行列は次のようになります

classは、クラス0またはクラス1に含まれるかどうかを示す0/1ダミーです。
私はこのクラスダミーをデータ$ classによって呼び出された元のデータに定義しました。 そして、私のTDMに ``転送」この変数への道があるかどうか、私は疑問に思って

はどうもありがとう

編集:以前は不明であるために申し訳ありません - 私の元のクラスのダミードキュメントのためでした。私がしようとしているのは、クラスを用語に再割り当てすることです.1はクラスがクラス1にのみ出現することを意味し、0はクラス0にのみ出現することを意味します。

+0

'tdm $ class < - data $ class' – Sumedh

+0

また、' cbind(tdm、data $ class) 'は動作するはずです。 – steveb

+0

早い者には申し訳ありませんが、私の元のクラスのダミーは、用語用ではなく、ドキュメント用です。そして私がやろうとしているのは、クラスを用語に再割当てすることです.1はクラス1にのみ表示され、0はクラス0にのみ表示されることを意味します – Shane

答えて

0

tdmや文書用語行列(dtm)を使用することはできますが、その文書から抜け出したいものはあまり明確ではありませんが、文書ごとにクラスがある場合は2番目の方法が役に立ちます。

   term1  term2 term3 ... term10000 class  
    doc1   .   1  1 ...  1  1 
    doc2   .   .  1 ...  .  0 
    ... 
    doc99   1   .  1 ...  1  0 

これで、モデル(分類子)をトレーニングして、新しいドキュメントのクラスを予測することができます。これを成し遂げるための簡単な方法は、クラスの列を取り付けるよりも、データフレームの中にそれをDTMを変換してあり、それのthats:

dtmDataFrame <- as.data.frame(inspect(dtm)) 

1のように、あなたが条件にクラスを再割り当て」ここで言及した他の事、用語はクラス1のみに出現し、0はクラス0にのみ出現することを意味します。「私にとっては意味がありません。クラス1およびクラス0にない用語ではどうしますか?それらをフィルターにかける?あなたの意図は何ですか?

関連する問題