Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.

how to create/edit macro in execute R?

jujujuju Member Posts: 39 Maven
edited November 2018 in Help

Hi I want to runing some sql query in RM, and need to use R to generate that sql code.

I'm thinking of sending the sql code to a macro and referring to the macro in "read database" process?

 

But how do I create/edit a macro in R? Any help's appreciated. Thank you!

Tagged:

Answers

  • jujujuju Member Posts: 39 Maven

    I figured out a way:

    generate something in R, and make it the output of R by returning data.frame(x = something)

     

    And send this output data frame into a 'extract macro' process, and extract column x, first row - the content is something.

     

    Code:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <process version="6.4.000">
    <context>
    <input/>
    <output/>
    <macros/>
    </context>
    <operator activated="true" class="process" compatibility="6.4.000" expanded="true" name="Process">
    <process expanded="true">
    <operator activated="true" class="r_scripting:execute_r" compatibility="6.4.000" expanded="true" height="76" name="Execute R" width="90" x="112" y="30">
    <parameter key="script" value="&#10;rm_main = function(){&#10;&#10;&#9;data.frame(x = 50)&#10;&#10;}&#10;"/>
    </operator>
    <operator activated="true" class="extract_macro" compatibility="6.4.000" expanded="true" height="60" name="Extract Macro" width="90" x="246" y="30">
    <parameter key="macro" value="nn"/>
    <parameter key="macro_type" value="data_value"/>
    <parameter key="attribute_name" value="x"/>
    <parameter key="example_index" value="1"/>
    <list key="additional_macros"/>
    </operator>
    <operator activated="true" class="r_scripting:execute_r" compatibility="6.4.000" expanded="true" height="76" name="Execute R (2)" width="90" x="447" y="30">
    <parameter key="script" value="rm_main = function(nn = %{nn}){&#10;&#10;&#9;&#10;&#9;print(nn*2)&#10;&#9;&#10;&#9;data.frame(new = nn*2)&#10;}&#10;"/>
    </operator>
    <connect from_op="Execute R" from_port="output 1" to_op="Extract Macro" to_port="example set"/>
    <connect from_op="Execute R (2)" 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>
Sign In or Register to comment.