如何从C代码中为R变量指定名称

时间:2014-10-13 08:01:36

标签: r

有没有人知道如何以编程方式为"命名" R internals中的值,(例如' x')

我的应用程序计算了一个值(在本例中为x),我想将此变量传递给R脚本(通过R_eval运行),但我不知道如何告诉R该数据是' x'

SEXP data
Rf_protect(data = Rf_allocVector(REALSXP, 1)));
double dval = 5.0
REAL(data)[j] = dval;

// I thought I might have to assign an attribute but this doesn't seem to work.
// Rf_setAttrib(data, R_NameSymbol, Rf_mkChar("x"));

//code will then run supplied script which will use x but won't define it

y <- c(1,2,3,x)

summary(c)

目前我的解析错误为'object 'x' not found'

非常感谢

1 个答案:

答案 0 :(得分:0)

因此,在进一步挖掘时,通过执行以下操作似乎可以实现我想要的目标。

SEXP variableName= Rf_install(const_cast<char*>("x"));
Rf_defineVar(variableName, data, _R_GlobalEnv);