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

R Functions

Availability

R Control Extension

See also

REvalExp()