- 第一次接触R这个统计的数据的程序,使用java调用的,刚听到的时候一头雾水,在研究了10几天开始有点头绪就开始了写博客是为了记录下次遇到就不用跳坑了。
1.首先使用java调用R的时候的先下载两个包,两个包是和R程序联系的,这个R官方是有可以下载的百度也有。
然后,如果是刚接触建议下载个R程序先把给的代码在R程序跑一次,之后开始在java开始通信。
RConnection connection = null;//连接
try {
connection = new RConnection();
connection.eval("library(readxl)");
connection.eval("stroke<-read_excel('D:example.xlsx'")");
connection.eval("'")");//空出来的这个是你把人家给的代码直接复制上去就可以
connection.eval("jepg('D:test.jpg)");
connection.eval("print(ggsurvplot(km))");//如果没有这一步图片就会生成失败
connection.eval("dev.off()");//关闭画板
} catch (RserveException e) {
e.printStackTrace();
} finally {
if (connection != null){
connection.close();
}
}
return null;**
上面代码仅供参考,要以自己的为准,这样图片就可以生成啦。
如果部署在linux出现生成图片失败需要加两个包。
如果我的写的看不明白的话可以参考
2、使用示例:
private static void test() {
RConnection connection = null;
try {
//获取连接
connection = RConnectionPoolUtil.getConnection();
//在D盘生成test.jpg图片
connection.eval("jpeg('D:/test.jpg')");
connection.eval("x<-c(1,2,3,4,5,6,)");
connection.eval("y<-c(1,2,3,4,5,6)");
connection.eval("plot(x,y)");//绘图
connection.eval("dev.off()");//关闭画板
} catch (RserveException e) {
e.printStackTrace();
} finally {
//释放连接
RConnectionPoolUtil.release(connection);
}
}
如果还有不懂的欢迎私信我!