如何在java变量中存储R数据帧

时间:2015-12-01 14:16:07

标签: java r

我在R中有一个函数,它返回不同数据类型的数据帧。

我从java调用R函数。

但我没有得到如何调用将返回数据帧的R函数。

我使用下面的代码返回一个字符串数组。 如何处理数据框。

String[] output_f1= c.eval("fun1(x)").asStrings();

1 个答案:

答案 0 :(得分:0)

package java_r_dataframe;

import java.io.BufferedWriter;
import java.io.File;
 import java.io.FileWriter;
 import org.rosuda.REngine.REXP;
 import org.rosuda.REngine.REXPGenericVector;
import org.rosuda.REngine.REXPMismatchException;
import org.rosuda.REngine.RList;
import org.rosuda.REngine.Rserve.RConnection;
 import org.rosuda.REngine.Rserve.RserveException;

 public class mymainclass {

 public static void main(String[] args) throws RserveException,   REXPMismatchException {

RConnection c = new RConnection();

c.eval("source(\"/home/Jayshree/Desktop/return_data2.R\")");
 RList a  = c.eval("return_dataframe_2()").asList();


 REXPGenericVector v = new REXPGenericVector(a);

 c.eval("source(\"/home/Jayshree/Desktop/return_data2.R\")");
 c.assign("x", v);
  String b = c.eval("return_dataframe_3(x)").asString();

  System.out.println(b);
  }}