我目前正在使用 Java 包 JRI,以便使用 R 提供的一些功能。
假设,我的 R 命令如下所示:
qqnorm(sql_data[["LifeExpectancy"]],
main="Life Expectancy")
如果我将它放入我的 REngine.eval() 函数中,它会崩溃,因为我应该将整个命令输入到一个“eval()”命令中。它可以在我的普通 R 命令行中运行...
主要问题是,无论何时下一个订单是否拆分为多行,我都很难预测。那么,我该如何解决这个问题呢?
我想过计算括号,但括号的数量并不总是均匀的。(比方说,字符串中包含一些括号)还有其他想法吗?
编辑:我认为,我的观点不够明显。试试这个:
System.out.println(re.eval("a <- c(3,4)"));
System.out.println(re.eval("a"));
System.out.println(re.eval("b <- c(3,4"));
System.out.println(re.eval(",5)"));
System.out.println(re.eval("b"));
您会看到,对于前两个命令 a,您会收到
[REAL* (3.0, 4.0)]
[REAL* (3.0, 4.0)]
但其余的 b 是这样的:
[NULL ]
[NULL ]
null
一般来说,这是 R 的一个问题。通常这有效,但在 JRI 中无效!