【发布时间】:2014-07-02 04:37:33
【问题描述】:
我编写了一个打开 GUI 的 R 程序。我想让这个文件可执行。当我在互联网上搜索时,我得到了一些答案,说它不能完成。但答案是 2012 年的。是否有任何改进可以帮助我的 R 文件转换为可执行文件?
【问题讨论】:
-
取决于您的操作系统,但您可能只需要shebang
标签: r executable
我编写了一个打开 GUI 的 R 程序。我想让这个文件可执行。当我在互联网上搜索时,我得到了一些答案,说它不能完成。但答案是 2012 年的。是否有任何改进可以帮助我的 R 文件转换为可执行文件?
【问题讨论】:
标签: r executable
您可以使用 C 语言 embed R。例如:
void
init_R()
{
extern Rf_initEmbeddedR(int argc, char **argv);
int argc = 1;
char *argv[] = {"ggobi"};
Rf_initEmbeddedR(argc, argv);
}
/*
Calls the equivalent of
x <- integer(10)
for(i in 1:length(x))
x[i] <- 1
print(x)
*/
int
eval_R_command()
{
SEXP e;
SEXP fun;
SEXP arg;
int i;
void init_R(void);
init_R();
fun = Rf_findFun(Rf_install("print"), R_GlobalEnv);
PROTECT(fun);
arg = NEW_INTEGER(10);
for(i = 0; i < GET_LENGTH(arg); i++)
INTEGER_DATA(arg)[i] = i + 1;
PROTECT(arg);
e = allocVector(LANGSXP, 2);
PROTECT(e);
SETCAR(e, fun);
SETCAR(CDR(e), arg);
/* Evaluate the call to the R function.
Ignore the return value.
*/
eval(e, R_GlobalEnv);
UNPROTECT(3);
return(0);
}
希望对您有所帮助。如果不是这种情况,请发表评论告诉我。
【讨论】: