REvalExpVar()
Evaluates an R expression and sets the result value for the R variable.
Synopsis
int REvalExpVar( int userData, const string & var, const string & exp, ...);
Parameters
Parameter | Description |
---|---|
userData | User data of the function call. The user data variable can be set to an integer value and used to detect errors when calling R functions. Set the variable to an integer value and when the function is called and an error occurs, the specified integer value is returned. |
var | R variable for which the result of the evaluated expression is set. The RVariable in the example below is "cResult". |
exp |
R expression to be evaluated with placeholder "%" for every following parameter: Values (0..n) are inserted in the R expression |
Return Value
Type of the R result variable or negative values if an error occurred.
Description
Evaluates an R expression and sets the result value for the R variable - see the example below.
Example
Calculate the correlation factor of two vectors:
#uses "CtrlR"
main()
{
//add data
dyn_float var1 = makeDynFloat(31,31,33,32,34,33,32,35,29,34,38,40,37,38,36,36,36,39,38,40,35,32,34,32,34,29,29,28,31,28,30,34,33,28,31,32,33,33,33,35,36,36,40,38,40,37,40,38,40,38);
dyn_float var2 = makeDynFloat(401,381,382,392,406,372,361,405,392,399,350,342,346,354,304,345,320,317,356,323,386,406,405,396,400,401,365,400,391,398,362,368,363,373,389,370,406,386,402,367,379,380,406,389,374,379,399,406,377,407);
RSetVar("var1", var1); //create R variables
RSetVar("var2", var2);
string err_desc;
int userData = 1; //userData variable for error handling
string H_LINE = "***************************************************************************";
/* Function call REvalExpVar()->Evaluates an R expression (correlation) and sets the result value for the R variable "cResult" */
int rv = REvalExpVar(userData, "cResult", "cor(%var%,%var%)", var1, var2);
if (RGetLastErr(err_desc, true) != 0) //error handling
{
DebugTN("Error occurred: " + err_desc);
}
else
{
DebugN("REvalExpVar_test finished! Return value:", rv);
anytype at = RGetVar("cResult");
DebugN("Value of the variable cResult:", at); /* the result of the r expression, meaning the correlation value */
DebugN(H_LINE);
}
}
Assignment
Availability
See also