2017-02-05 7 views
4

私はテキストでトークンをランク付けしました。その基準に基づいて、それらはすべて価値があります。Rのワードクラッドは値のリストから(テキスト文書からではなく)

library(tm) 
library(wordcloud) 

tokList = read.table("tokens.txt", header = TRUE, sep = ',') 

# Create corpus 
corp <- Corpus(DataframeSource(tokList)) 
corpPTD <- tm_map(corp, PlainTextDocument) 

wordcloud(corpPTD, max.words = 50, random.order=FALSE) 

生成します:

value,token 
3,tok1 
2.84123,tok2 
1.5,tok3 
1.5,tok4 
1.01,tok5 
0.9,tok6 
0.9,tok7 
0.9,tok8 
0.81,tok9 
0.73,tok10 
0.72,tok11 
0.65,tok12 
0.65,tok13 
0.6451231,tok14 
0.6,tok15 
0.5,tok16 
0.4,tok17 
0.3001,tok18 
0.3,tok19 
0.2,tok20 
0.2,tok21 
0.1,tok22 
0.05,tok23 
0.04123,tok24 
0.03,tok25 
0.02,tok26 
0.01,tok27 
0.01,tok28 
0.01,tok29 
0.007,tok30 

私はその後、次のコードでwordcloudを生成しよう:私のリストはこのようになります

enter image description here

しかし、それは、私何ではありません欲しいです。私はテーブルの中の値に従ってトークン(つまり "tok1"、 "tok2"、...)を視覚化するワードクラッドが欲しいです。最初のトークンが3の場合、その単語はリストの次の要素の3倍になります。

誰か助けてもらえますか?

+0

エラーを返すこと。 'corpPTD'は - 私は - 30 - 1次元ベクトルです。 –

+0

素晴らしい、それはそれを解決する! –

答えて

1

単にこれは、(ゼロが、対応するトークンを除外すれば、あなたの最小値がゼロでないと仮定して)動作します:

library(RColorBrewer) 
wordcloud(tokList$token, tokList$value/min(tokList$value), max.words = 50, min.freq = 1, 
        random.order=FALSE, colors=brewer.pal(6,"Dark2"), random.color=TRUE) 

enter image description here

関連する問題