2017-03-09 8 views
0

RのtmパッケージのfindAssocs関数を使用して、指定された単語セットに関連付けられているすべての単語を検索しています。返された結果には、単語に関連付けられていない単語が表示されます。たとえば、以下の出力では、「新規」という単語は、最小相関が0.7の単語には関連付けられていません。だから私はこれらの言葉をすべて削除して、関連がある言葉のベクトルを作りたいと思っています。この場合、ベクトルはc("blush")になります。だから私はこれをどのように達成することができますか?あなたが機能lengthsでパッケージpurrrからcompactを使用することができます おかげtmパッケージからfindAssocs関数によって返された結果から非関連単語を削除する方法

> findAssocs(myTdm,c("new","blush"),0.7) 
$new 
numeric(0) 

$blush 
    combination  customize  different  endless   flush  highlight  jdlxmd  master 
     0.98   0.98   0.98   0.98   0.98   0.98   0.98   0.98 
possibilities   three  unique   use 
     0.98   0.98   0.98   0.98 

答えて

1

:基本Rに

findAssocsRes <-list(a=integer(0),b=c(x=1,y=2) ,c=c(z=1)) 

findAssocsRes 
$a 
integer(0) 

$b 
x y 
1 2 

$c 
z 
1 

purrr::compact(findAssocsRes,lengths) 
$b 
x y 
1 2 

$c 
z 
1 

は、あなたもlengthlapplyを使用することができます。

findAssocsRes[lapply(findAssocsRes,length)>0] 
$b 
x y 
1 2 

$c 
z 
1 
+0

を、それが働いたおかげでたくさん – Abhinav

関連する問題