2017-09-13 6 views
1

にインポートするので、すでにTDMを持っていますが、それはExcel上にあります。だから私はそれをCSVとして保存しました。今私はいくつかの分析をしたいと思いますが、tmパッケージを使用してTDMとしてロードすることはできません。私のCSVは、このようなものになります。CSV形式の用語ドキュメントマトリックスをR

  item01 item02 item03  item04 


red   0   1   1   0 
circle  1   0   0   1 
fame  1   0   0   0 
yellow  0   0   1   1 
square  1   0   1   0 

だから私はTDMように、そのファイルをロードすることができていないが、私がこれまで試した最高のはこれです:

myDTM <- as.DocumentTermMatrix(df, weighting = weightBin) 

しかし、それはロードされますすべてのセル

<<DocumentTermMatrix (documents: 2529, terms: 1952)>> 
Non-/sparse entries: 4936608/0 
Sparsity   : 0% 
Maximal term length: 27 
Weighting   : binary (bin) 
Sample    : 

      Terms 
Docs   item01 item02 item03 item04 
     Red  1  1  1  1     
     Circle  1  1  1  1   
     fame  1  1  1  1 

私はコーパスや他のものに最初に変換しようとしましたが、私は検査(TDM)のような任意の関数を使用しようとすると、それはこのまたは類似のように、エラーを返します

の1つの。

Error in `[.simple_triplet_matrix`(x, docs, terms) : 

正しいフォーマットでインポートする方法がないと思われますか?前もって感謝します。

答えて

0

まず、CSVを疎行列に変換してみてください。私のCSVはあなた自身と違っています。私は自分でそれをタイプしましたが、同じ考えです。

> library(tm) 
> library(Matrix) 
> myDF <- read.csv("my.csv",row.names=1,colClasses=c('character',rep('integer',4))) 
> mySM <- Matrix(as.matrix(myDF),sparse=TRUE) 
> myDTM <- as.DocumentTermMatrix(mySM,weighting = weightBin) 
> inspect(myDTM) 

<<DocumentTermMatrix (documents: 5, terms: 4)>> 
Non-/sparse entries: 7/13 
Sparsity   : 65% 
Maximal term length: 6 
Weighting   : binary (bin) 
Sample    : 
     Terms 
Docs  item01 item02 item03 item04 
    circle  1  1  0  0 
    fame  1  0  0  0 
    red   0  0  0  0 
    square  1  0  1  0 
    yellow  0  0  1  1 
> 
+0

Awsomeさんは、スパース行列は、それを解決しました!ありがとう! –