RCaller无法获得R程序的文本结果的处理
来源:互联网 发布:喵萝脸型数据 编辑:程序博客网 时间:2024/05/12 04:08
项目中使用 com.github.rcaller.rstuff.RCaller 调用 R 程序,对于卡方值的计算,我们使用了下面的程序:
RCaller caller = new RCallerTemplate() {@Overridepublic void addRCode(RCode code) {code.addRCode("data<-read.csv(\"C:/Users/Lenovo/Desktop/Matrix.csv\",header = T,sep = \"\")");code.addRCode("library(epicalc)");code.addRCode("ret<-cc(data$X2dm.0.2.pac,data$X2dm.0.2.notpac)");}}.createRCaller();caller.runAndReturnResult("ret");
但是始终找不到一个合适的RCaller API 可以拿到 ret 所代表的文本,其文本如下:
后来希望在 R 程序里直接将 ret 结果写到文件里,但是尝试了R 的 write.table 或者 write.csv 都没办法写出来。
几经google,才发现sink() 函数可以的:
RCaller caller = new RCallerTemplate() {@Overridepublic void addRCode(RCode code) {code.addRCode("data<-read.csv(\"C:/Users/Lenovo/Desktop/Matrix.csv\",header = T,sep = \"\")");code.addRCode("library(epicalc)");code.addRCode("ret<-cc(data$X2dm.0.2.pac,data$X2dm.0.2.notpac)");code.addRCode("sink(\"C:/Users/Lenovo/Desktop/output3.txt\")");code.addRCode("ret");code.addRCode("sink()");}}.createRCaller();caller.runOnly();
奇怪的是,我在 RGui 里面通过 source("C:\\Users\\Lenovo\\Desktop\\R1206.R") 调用等价的 R 程序,报了一个 warning:
ret 的文本结果也没有写到文件里,不知道为什么。
0 0
- RCaller无法获得R程序的文本结果的处理
- RCaller 无法返回复杂数据的研究以及解决方案
- Mathematica 文本界面获得之前的结果
- 获得程序运行结果的返回值
- 获得CheckListBox的结果。
- 执行控制台程序并且获得它的输出结果
- python文本处理中\r回车\n换行的问题
- 01【文本处理】删除字符串尾部的回车符\r
- 清:清空“结果”的内容 20140731 ①文本处理
- 处理文本的工具程序简介
- 一个基于Python的文本处理程序
- 获得命令的输出结果
- 移动网关 HTTP 无法直接一次返回结果的处理
- php Array无法从key获得value的情况处理。
- R-文本处理-分词
- R文本挖掘处理
- 获得treeview选定的文本
- 昨天写的关于处理LBLGXE的一段R程序
- java实现直播功能或者视频监控,想用RPT协议,怎样把RPT协议集成到项目中
- UIWebView js oc相互调用的三种方法
- 性能优化四之Allocation Tracker工具使用
- 下周三国内涨油价几成定局
- 通过getChildAt方法取得AdapterView中第n个Item(重新编辑)
- RCaller无法获得R程序的文本结果的处理
- Retrofit用法详解
- android更改应用程序图标无效的问题
- MySQL 用户权限详细汇总
- 台达B2电机 上电前基本参数
- 网页制作HTML
- 简单理解Memcached的Slab Allocation
- Mybatis There is no getter for property named 'id'
- ssh + oracle 项目总结