2016-12-21 11 views
0

を実行し、データオペレータにワードリストの後に、私は以下のスクリプトを使用してRを実行でワードクラウドを作成したいです。 "TermDoumentMatrix 'の適用可能なメソッドは、クラス" c(' data.table '、data.frame')のオブジェクトに適用されません。読むワードリストは、私がRapidminerを使用しているR

データテーブルには単語の列があります、文書の発生の列、および単語出現の列。

は、誰もが、私は、エラーを解決する方法をしてください助言することはできますか?wordclouddataとして第一引数は動作しません全体のデータフレームを渡す

rm_main = function(data) 
{ 
    wordcloud::wordcloud(data, scale=c(5,0.5), max.words=100, random.order=FALSE, 
    rot.per=0.35, use.r.layout=FALSE, colors="Dark2") 
} 

答えて

2

。 (実際には、Rのの一部であるタイプtermDocumentMatrixのオブジェクトであれば動作しますパッケージですが、それは別の話です。しかしそれはエラーメッセージです。)RapidMinerの中から、単語とその頻度をそれぞれ1番目と2番目のパラメータとして指定する必要があります。

だから、あなたが

rm_main = function(data) 
{ 
    windows() # on MS Windows systems 
    wordcloud::wordcloud(data$word, data$total, min.freq = 1) 
    Sys.sleep(5) 
} 

のようなものを使用することができますここでは、ワードクラウドを作成する例プロセス、だ、それが保存されます「C:\ mywordcloud.pdf」と(Windowsの場合)、それを開くデフォルトのアプリケーションと.pdfファイルに関連付けられています。

<?xml version="1.0" encoding="UTF-8"?><process version="7.3.000"> 
    <context> 
    <input/> 
    <output/> 
    <macros/> 
    </context> 
    <operator activated="true" class="process" compatibility="7.3.000" expanded="true" name="Process"> 
    <parameter key="logverbosity" value="init"/> 
    <parameter key="random_seed" value="2001"/> 
    <parameter key="send_mail" value="never"/> 
    <parameter key="notification_email" value=""/> 
    <parameter key="process_duration_for_mail" value="30"/> 
    <parameter key="encoding" value="SYSTEM"/> 
    <process expanded="true"> 
     <operator activated="true" class="text:create_document" compatibility="7.3.000" expanded="true" height="68" name="Create Document" width="90" x="179" y="187"> 
     <parameter key="text" value="Hello world world!"/> 
     <parameter key="add label" value="false"/> 
     <parameter key="label_type" value="nominal"/> 
     </operator> 
     <operator activated="true" class="text:process_documents" compatibility="7.3.000" expanded="true" height="103" name="Process Documents" width="90" x="313" y="238"> 
     <parameter key="create_word_vector" value="true"/> 
     <parameter key="vector_creation" value="TF-IDF"/> 
     <parameter key="add_meta_information" value="true"/> 
     <parameter key="keep_text" value="false"/> 
     <parameter key="prune_method" value="none"/> 
     <parameter key="prune_below_percent" value="3.0"/> 
     <parameter key="prune_above_percent" value="30.0"/> 
     <parameter key="prune_below_rank" value="0.05"/> 
     <parameter key="prune_above_rank" value="0.95"/> 
     <parameter key="datamanagement" value="double_sparse_array"/> 
     <process expanded="true"> 
      <operator activated="true" class="text:tokenize" compatibility="7.3.000" expanded="true" height="68" name="Tokenize" width="90" x="45" y="34"> 
      <parameter key="mode" value="non letters"/> 
      <parameter key="characters" value=".:"/> 
      <parameter key="language" value="English"/> 
      <parameter key="max_token_length" value="3"/> 
      </operator> 
      <connect from_port="document" to_op="Tokenize" to_port="document"/> 
      <connect from_op="Tokenize" from_port="document" to_port="document 1"/> 
      <portSpacing port="source_document" spacing="0"/> 
      <portSpacing port="sink_document 1" spacing="0"/> 
      <portSpacing port="sink_document 2" spacing="0"/> 
     </process> 
     </operator> 
     <operator activated="true" class="text:wordlist_to_data" compatibility="7.3.000" expanded="true" height="82" name="WordList to Data" width="90" x="514" y="289"/> 
     <operator activated="true" class="r_scripting:execute_r" compatibility="7.2.000" expanded="true" height="82" name="Execute R" width="90" x="715" y="289"> 
     <parameter key="script" value="rm_main = function(data)&#10;{&#10; windows()&#10; wordcloud::wordcloud(data$word, data$total, min.freq = 1)&#10; Sys.sleep(3)&#10;}&#10;"/> 
     </operator> 
     <connect from_op="Create Document" from_port="output" to_op="Process Documents" to_port="documents 1"/> 
     <connect from_op="Process Documents" from_port="word list" to_op="WordList to Data" to_port="word list"/> 
     <connect from_op="WordList to Data" from_port="example set" to_op="Execute R" to_port="input 1"/> 
     <connect from_op="Execute R" from_port="output 1" to_port="result 1"/> 
     <portSpacing port="source_input 1" spacing="0"/> 
     <portSpacing port="sink_result 1" spacing="0"/> 
     <portSpacing port="sink_result 2" spacing="0"/> 
    </process> 
    </operator> 
</process> 
+0

ありがとう@lukeA。私が以下を試してみると、「メモリ・バッファ・ファイル」というメッセージが表示されます。私はRMですべてのテキストマイニング操作を行っているので、この例を「実行」に設定したいだけです。これには単語の属性「単語」と頻度の「合計」があります。 rm_main = function(data) { ライブラリ(wordcloud) ライブラリ(RColorBrewer) wordcloud :: wordcloud(data $ word、data $ total、scale = c(5,0.5)、max.words = 100、random.order = FALSE、 rot.per = 0.35、use.r.layout = FALSE、brewer.pal(3、 "Dark2")) } – Carl

+0

元の質問とは異なる問題のようです。私はそれを解決する方法を知らない。 – lukeA

関連する問題