2016-09-28 6 views
0

私はQuanteda dfmから特定された辞書単語を抽出しようとしていますが、解決策を見つけることができませんでした。Quanteda - 特定された辞書単語を抽出中

誰かがこれに対する解決策を持っていますか?

サンプル入力:

dict <- dictionary(list(season = c("spring", "summer", "fall", "winter"))) 
dfm <- dfm("summer is great", dictionary = dict) 

出力:

> dfm 
Document-feature matrix of: 1 document, 1 feature. 
1 x 1 sparse Matrix of class "dfmSparse" 

    features 
docs season 
text1  1 

私は今の季節の辞書の単語が文で同定されていることを知っているが、私もそれがあった単語知っていただきたいと思います。

これは、好ましくは、表形式で抽出されるべきである:

docs dict  dictWord 
text1 season summer 

答えて

0

あなたはまず、dictionaried DFMにそれをkeptFeatures引数を使用して第2のDFMを作成し、cbind()ができます。

dict <- dictionary(list(season = c("spring", "summer", "fall", "winter"))) 
txt <- "summer is great" 
season_dfm <- dfm(txt, dictionary = dict, verbose = FALSE) 
dict_dfm <- dfm(txt, select = dict, verbose = FALSE) 

cbind(season_dfm, dict_dfm) 
## Document-feature matrix of: 1 document, 2 features. 
## 1 x 2 sparse Matrix of class "dfmSparse" 
##  season summer 
## text1  1  1 

あなたがテーブルとして出力したい場合は、それは次のようになります。

dict_df <- as.data.frame(combined_dfm) 
names(dict_df)[2] <- "dictWord" 
dict_df 
##  season dictWord 
## text1  1  1 

しかし、それはあなたがテキストごとに単一の辞書値を持っている場合は動作します - それ以外dict_dfmは、複数の特徴の列を持っています。

+0

Kenさん、ありがとうございました。 –

関連する問題