【问题标题】:JRI, Java and R: variable is not accumulated between evalsJRI、Java 和 R:变量在 eval 之间不累积
【发布时间】:2015-01-18 05:24:48
【问题描述】:

在此代码变量xx 返回 0 而不是 20,不应该计算它并将其值保持在 eval 之间吗?

     String[] Rargs = {"--vanilla"};
     Rengine re = new Rengine(Rargs, false, null);

     if (!re.waitForR()) {
         System.out.println("Cannot load R");
         return;
     }

     re.eval("xx = 0");
     for (int i=0; i<20; i++) {
         re.eval("xx =  xx + 1");
     }

     int xx = (re.eval("xx")).asInt();
     System.out.println("xx="+xx);

这是结果:

xx=0

【问题讨论】:

    标签: java r rjava jri


    【解决方案1】:

    这是答案,需要使用asDouble()

    double xx = (re.eval("xx")).asDouble();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      相关资源
      最近更新 更多