从r到java的字符使用rcaller

时间:2013-06-16 16:53:58

标签: java r rcaller

R中的结果是字符或描述。我想从R获得resule然后到Java.I使用RCaller。

我使用下面的代码是行不通的。

    code.clear();

    code.addRCode("c1<-factor(describe(1:10)$counts)");
    code.addRCode("c2<-as.numeric(as.character(c1))");

    System.out.println(code.toString());

    caller.setRCode(code);
    caller.runAndReturnResultOnline("c2");


    // String[] cc = caller.getParser().getAsStringArray("de");
    double[] cc = caller.getParser().getAsDoubleArray("c2");
    System.out.println(caller.getParser().getClass());


    for (int i = 0; i < cc.length; i++) {
        System.out.println(cc[i]);
    }
}

但我在下面使用这些是有效的!

            code.clear();
    code.addRCode("c1<-factor(3.3:9.3)");
    code.addRCode("c2<-as.numeric(as.character(c1))");

    System.out.println(code.toString());

    caller.setRCode(code);
    caller.runAndReturnResultOnline("c2");


    // String[] cc = caller.getParser().getAsStringArray("de");
    double[] cc = caller.getParser().getAsDoubleArray("c2");
    System.out.println(caller.getParser().getClass());


    for (int i = 0; i < cc.length; i++) {
        System.out.println(cc[i]);
    }
}

为什么呢? 如果我想从R到Java获取字符或其他类型的数据使用RCaller,我该怎么办?谢谢!!!

1 个答案:

答案 0 :(得分:0)

因为你使用getAsDoubleArray()返回一个double数据类型的数组。