我正在尝试在Java中运行一些R命令。我可以使用RConnection创建连接。
然后,我发送以下命令:
c.eval( "setwd('" + folderIn.getPath() + "')" );
c.eval( "Age = read.table('"+ filename+".txt" + "')" ); // LOAD DATA FILE
c.eval( "Age <- as.numeric(Age)" ); // CONVERT TO NUMERIC
c.eval( "setwd('" + folderOut.getPath() + "')" ); // SET DIR
c.eval( "png('" + filename+".png" +"')" );
它运行良好,直到它到达&#39; png&#39;然后它返回&#39; eval失败&#39;。
有趣的是,如果我使用Terminal在我的mac上启动R然后执行:library(Rserve)然后执行Rserve()然后运行我的Java程序,它运行正常。但是,当我通过java执行带有以下内容的脚本来启动R时:
R -e "library(Rserve);Rserve(FALSE,args='--no-save --slave')" --no-save --slave
然后它就无法超越&#39; png&#39;代码中的一行。
任何人都对为什么会发生这种情况有任何想法?
答案 0 :(得分:0)
我通过在svg而不是png中保存我的情节来解决这个问题。因此,我使用了svg(...)命令而不是png(..)命令。效果很好。