在java中调用R时找不到某些功能

时间:2014-09-28 20:35:38

标签: java r processing rserve

我试图在Java中使用R,特别是在Processing中。 我想使用readPNG函数,但是当我尝试时,R会显示错误readPNG function can't be found。这是非常奇怪的,因为我有png library活跃,如果我尝试直接从R使用它这项训练就好了。我使用Rserve包连接java和R.任何建议都会非常适合。 这是我使用的代码的一部分,如果有帮助的话。

import org.rosuda.REngine.Rserve.*;
import org.rosuda.REngine.*;

double[] data;

void setup() {
  size(300,300);
  try {
    RConnection c = new RConnection();  
    // generate 100 normal distributed random numbers and then sort them 
    data= c.eval("readPNG('juego-11932.png')").asDoubles();

  } catch ( REXPMismatchException rme ) {
    rme.printStackTrace();

  } catch ( REngineException ree ) {
    ree.printStackTrace();
  }
}

void draw() {
  background(255);
  for( int i = 0; i < data.length; i++) {
    line( i * 3.0, height/2, i* 3.0, height/2 - (float)data[i] * 50 );
  }
}

1 个答案:

答案 0 :(得分:0)

您的Java代码连接到新的R会话,因此不会加载任何包。因此,您必须使用png::readPNG()或明确加载png包。