RJava JRI Ошибка R уже инициализирована (R Вызов Java(новый Rengine в Java))

Я мог бы вызвать R из Java и вызвать функцию Java из R успешно оба. Тем не менее, когда я пытаюсь использовать rJava JRI для вызова Java из R, а экземпляр Java-кода новый REngine. Не удалось сообщить, что R уже инициализирован, а затем выйти из R напрямую.

Мои занятия:

public class testRJava {
    public void testOK(){
        System.out.println("test this funciton could be called OK");
    }
    public void callSample(){
        Rengine re = Rengine.getMainEngine();
        if(re == null){
            re=new Rengine (new String [] {"--vanilla"}, false, null);
            if (!re.waitForR())
            {
                System.out.println ("Cannot load R");
                return;
            }
        }
        // print a random number from uniform distribution
        System.out.println (re.eval ("runif(100)").asDouble());
        re.end();
    }
}

затем я звоню банку от R

> b <- .jnew("testRJava")
> b$testOK()
test this funciton could be called OK
> b$
b$callSample()  b$main(         b$wait()        b$toString()    b$getClass()    b$notifyAll()
b$testOK()      b$wait(         b$equals(       b$hashCode()    b$notify()
> b$callSample()
R is already initialized
[root@ home]#

Кто-нибудь знает почему? Любое решение об этой ошибке?

1 ответ

Решение

библиотека (rJava)

.jinit ("")

.jengine (TRUE),

[1] "Java-Object {Thread [Thread-0,5, main]}"

b <-.jnew ("testRJava")

б $callSample()

Другие вопросы по тегам