2

如何使用 Rcaller 一次获得多个结果?例如,我使用

code.addRCode("data<-read.table(\""+ "/home/yo/Documents/Book1.csv"+ "\", header=TRUE,sep=\"\t\")");
caller.setRCode(code);
caller.runAndReturnResult("data");

然后,我可以使用caller.getParser().getNames().size()...egfunction

但是如果我想运行summary(data$pH),我应该怎么做?添加到代码之前?如果“调用者”属于哪个?感谢任何帮助我的人!

4

2 回答 2

1

你可以在这里找到这个。它演示了我们如何使用 runAndReturnValue 方法从 RCaller 获取结果

http://stdioe.blogspot.com.tr/search/label/rcaller

于 2013-11-20T10:05:07.843 回答
1

在 R 中使用结果列表。例如,您有一个列表

result <- list(a=c(1,2,3), b=3.6, c=5) 

调用 rcaller.runAndReturnResult(result) 后,变量 a、b 和 c 可通过 wia 访问

double[] a = rcaller.getParser().getAsDoubleArray("a");

或者

int c = rcaller.getParser().getAsIntegerArray("c")[0];

使用 getNames() 方法,您也可以获取“结果”列表中包含的名称。

当您使用 summary() 时,没有任何变化。假设您在 R 中进行 lm() 调用,例如

ols <- lm (y ~ x + z, data=mydata)

接着

detailed <- summary(ols)

这也是一个列表,作为 lm() 的返回值。您可以使用访问此列表的元素

double[] residuals = rcaller.getParser().getAsDoubleArray("residuals");

double rsquared = rcaller.getParser().getAsDoubleArray("r.squared")[0];

在summary() 之后没有任何变化。返回您的代码

code.addRCode("data<-read.table(\""+ "/home/yo/Documents/Book1.csv"+ "\", header=TRUE,sep=\"\t\")");
caller.setRCode(code);
caller.runAndReturnResult("data");

不返回列表,您可以键入

RCode code = new RCode();
code.addRCode("myresult <- list(res1=data$pH, res2=data$anotherVector)");
rcaller.setRCode(code);
caller.runAndReturnResult("myresult");

毕竟,

double[] pH = caller.getParser().getAsDoubleArray(pH);

返回您的pH变量。

欲了解更多信息,请访问此处的官方博客

于 2014-04-13T14:24:44.047 回答