【问题标题】:Can R file be converted to an executable file? [duplicate]R文件可以转换为可执行文件吗? [复制]
【发布时间】:2014-07-02 04:37:33
【问题描述】:

我编写了一个打开 GUI 的 R 程序。我想让这个文件可执行。当我在互联网上搜索时,我得到了一些答案,说它不能完成。但答案是 2012 年的。是否有任何改进可以帮助我的 R 文件转换为可执行文件?

【问题讨论】:

  • 取决于您的操作系统,但您可能只需要shebang

标签: r executable


【解决方案1】:

您可以使用 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);
}

希望对您有所帮助。如果不是这种情况,请发表评论告诉我。

【讨论】:

  • 我是编程新手。有没有不使用C的简单方法。但是,我会研究这个并尝试去做。非常感谢。
  • this 有帮助吗?
猜你喜欢
  • 1970-01-01
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多