我在Rstudio中执行我的R代码,它运行良好。以下执行显示我的R代码如何工作。 enter image description here
然后,我想通过Rserve使用Java执行我的R代码。以下代码是我的Java代码:
c.eval("kandweight=kand(person)");
c.eval("person");
c.eval("system=c(3,6,5,9,2)");
c.eval("systemw=matrix(,length(system))");
c.eval("k=0");
c.eval( "for(i in 1:length(system))"
+ "{"
+ "j=sum(system[1:i])"
+ "systemw[i]=sum(indexw[1:j])-k"
+ "k=sum(systemw[1:i])"
+ "}");
我的Java代码中的 c
是Rserve连接。我收到错误。错误显示行c.eval( "for(i in 1:length(system))"
eval失败。我仍在尝试修复此问题但需要一些外部帮助。非常感谢。
答案 0 :(得分:0)
我想如果用分号分隔这些行会有效,就像在R中将几个命令放在一行上一样:
c.eval("for(i in 1:length(system))"
+ "{"
+ "j=sum(system[1:i]);"
+ "systemw[i]=sum(indexw[1:j])-k;"
+ "k=sum(systemw[1:i])"
+ "}");