2016-04-14 11 views
0

私はRの私のコーパスにquantedaを実装しようとしていますが、私は取得しています:私はこれで多くの経験を持っていない実装N-グラム、Quantedaエラー

Error in data.frame(texts = x, row.names = names(x), check.rows = TRUE, : 
    duplicate row.names: character(0) 

。ここでhttps://www.dropbox.com/s/ho5tm8lyv06jgxi/TwitterSelfDriveShrink.csv?dl=0

コードされています:ここでは、データセットのダウンロードがある

​​
+0

再現可能な例を提示すると、可能な回答者のプールが即座に拡大されます。さらに、それが答えになると、それはあなただけに利益をもたらすでしょう。この問題を一般化することで、あなたと他の人たちが将来的に助けになるのです。 –

+0

ダウンロードリンクを使用して更新してください。 – gamelanguage

+1

@gamelanguageでは、あなたのアプローチのようにtmを使用することで同じエラーが発生しましたが、tm、just quanteda、およびstringsAsFactors = FALSEは必要ありません。 – Chris

答えて

1
あなたはTMでやっている処理をして何をするかわからないTMとquanteda用のオブジェクトを準備している

それは... quantedaは、オプションからわかるように、これらすべてのステップ自体、help( "dfm")を行います。

あなたが前方に移動することができ、以下しようとした場合:= TRUE、removeNumbers = TRUE、removePunctは= TRUE、removeTwitter = TRUE、言語=「英語

DFM(ツイート$ツイートを、冗長= TRUE、TOLOWERを」、ignoredFeatures =ストップワード( "" 英語)、幹= TRUE)

文字ベクトルからDFMを作成しています... ...小文字 ...トークン化 ...インデックス文書:6943件のドキュメント ...インデックス機能:15,164個のフィーチャタイプ ... 174個の指定(グロブ)フィーチャタイプから161個のフィーチャを削除しました ...フィーチャをステミングする(英語)、2175個のフィーチャバリアントを切り捨てました ...作成済みの6943 x 12828スパースdfm ...完了。 経過時間:0.756秒。 HTH

1

TMパッケージで開始する、あるいはまったくread.csv()を使用する必要がありません - これはquantedaコンパニオンパッケージREADTEXTが何のためにあるのかです。

ようにデータを読み込むために、あなたはまっすぐコーパスのコンストラクタにreadtext::readtext()によって作成されたオブジェクトを送信することができます

myCorpus <- corpus(readtext("~/Downloads/TwitterSelfDriveShrink.csv", text_field = "Tweet")) 
summary(myCorpus, 5) 
## Corpus consisting of 6943 documents, showing 5 documents. 
## 
## Text Types Tokens Sentences Sentiment Sentiment_Confidence 
## text1 19  21   1   2    0.7579 
## text2 18  20   2   2    0.8775 
## text3 23  24   1  -1    0.6805 
## text5 17  19   2   0    1.0000 
## text4 18  19   1  -1    0.8820 
## 
## Source: /Users/kbenoit/Dropbox/GitHub/quanteda/* on x86_64 by kbenoit 
## Created: Thu Apr 14 09:22:11 2016 
## Notes: 

そこから、あなたは前処理の全てを行うことができますdfm()コールに直接茎ngramsの選択を含む:

# just unigrams 
dfm1 <- dfm(myCorpus, stem = TRUE, remove = stopwords("english")) 
## Creating a dfm from a corpus ... 
## ... lowercasing 
## ... tokenizing 
## ... indexing documents: 6,943 documents 
## ... indexing features: 15,577 feature types 
## ... removed 161 features, from 174 supplied (glob) feature types 
## ... stemming features (English), trimmed 2174 feature variants 
## ... created a 6943 x 13242 sparse dfm 
## ... complete. 
## Elapsed time: 0.662 seconds. 

# just bigrams 
dfm2 <- dfm(myCorpus, stem = TRUE, remove = stopwords("english"), ngrams = 2) 
## Creating a dfm from a corpus ... 
## ... lowercasing 
## ... tokenizing 
## ... indexing documents: 6,943 documents 
## ... indexing features: 52,433 feature types 
## ... removed 24,002 features, from 174 supplied (glob) feature types 
## ... stemming features (English), trimmed 572 feature variants 
## ... created a 6943 x 27859 sparse dfm 
## ... complete. 
## Elapsed time: 1.419 seconds. 
関連する問題