2014-07-02 224 views
1

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

+0

取决于您的操作系统,但所有你需要的可能是[shebang](http://stackoverflow.com/questions/3128122/shebang-line-not-working-in-r-script/3128133#3128133 ) – Beasterfield

回答

0

您可以使用embed R C.这样的一个例子:

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); 
} 

我希望你觉得它有用。如果情况并非如此,请留下评论让我知道。

+0

我是编程新手。没有使用C有没有简单的方法。但是,我会研究这个并尝试去做。非常感谢。 – user3796176

+0

[此](http://stackoverflow.com/questions/6345613/interfacing-r-with-other-java-languages-compiling-r-to-executable?rq=1)有帮助吗? – hd1

相关问题