例如,我希望 R 生成普通数据,然后在 Java 中使用这些数据。我知道有一个函数可以将 REXP 对象转换为数组,但它似乎不起作用。这是我所拥有的:
REXP x;
x = re.eval("rnorm(100,50,10)");
double[] test = x.asDoubleArray();
System.out.println(x);
System.out.println(test);
我都打印出来看看有什么问题。结果如下:
[REAL* (61.739814266023316, 40.25177570831545, 36.09450830843867, 48.06821029847672,...etc)]
[D@61de33
问题是 R 如何将结果返回给 java;它告诉 java x 是什么,如果它们是字符串,它会说 [String*(..whatever..)]。我只想要括号中的内容。无论如何,它返回的行也是一个字符串。
我将处理大数据,所以我希望它很快。我曾尝试使用子集,提取括号中的内容,然后将它们解析为双精度,但必须有更好的解决方案。此外,这似乎不适用于超过 100 点的数据。