Как устранить ошибку: длинные векторы еще не поддерживаются: qap_encode.c:36?

Я пытаюсь подключить java к R, используя Rserve

Java: 1.8.0_151
R: 3.5.0
ОС: Mac 10.13.4 HighSierra

Чтобы связать R с Java, я набрал в RStudio следующее:

install.packages("Rserve")
library(Rserve)
Rserve(args="--no-save")

все прошло гладко, и я был так счастлив об этом.

Затем я вернулся к Java (так сказать, Java Eclipse) и продолжил печатать. Вот что я сделал на Eclipse

package rserve;

import org.rosuda.REngine.REXPMismatchException;
import org.rosuda.REngine.REngineException;
import org.rosuda.REngine.Rserve.RConnection;
import org.rosuda.REngine.Rserve.RserveException;

public class WordCloud1 {
    public static void main(String[] args) throws REngineException, 
REXPMismatchException {
    RConnection c = new RConnection();
    String path = "/Users/JinhoShin/Desktop/study/R/r_temp2";
    String file = "seoul_new.txt";
    c.parseAndEval("library(KoNLP)");
    c.parseAndEval("useSejongDic()");
    c.parseAndEval("library(wordcloud)");
    c.parseAndEval("library(RColorBrewer)");
    c.parseAndEval("setwd('" + path + "')");
    c.parseAndEval("data1=readLines('" + file + "')");
    c.parseAndEval("data2 = sapply(data1,extractNoun,USE.NAMES=F)");
    c.parseAndEval("data3 = unlist(data2)");
    c.parseAndEval("data3=gsub('seoul','',data3)");
    c.parseAndEval("data3=gsub('request','',data3)");
    c.parseAndEval("data3=gsub('place','',data3)");
    c.parseAndEval("data3=gsub('transportation','',data3)");
    c.parseAndEval("data3=gsub(' ','',data3)");
    c.parseAndEval("data3=gsub('-','',data3)");
    c.parseAndEval("data3=gsub('OO','',data3)");
    c.parseAndEval("write(unlist(data3),'seoul_2.txt')");
    c.parseAndEval("data4 = read.table('seoul_2.txt')"); ########this is what blows me up
    c.parseAndEval("wordcount=table(data4)");
    c.parseAndEval("palete = brewer.pal(9,'Set3')");
    c.parseAndEval(
            "wordcloud(names(wordcount),freq = wordcount,scale=c(5,1),rot.per=0.25, min.freq = 1," + 
            " random.order=F, random.color = T, colors=palete)");
    c.parseAndEval("savePlot('0517seoul.png', type = 'png')");
    c.parseAndEval("dev.off()");
    c.close();
}
}

как вы заметили из кода

 c.parseAndEval("data4 = read.table('seoul_2.txt')"); => at rserve.WordCloud1.main(WordCloud1.java:30)

Я понятия не имею, почему он не может прочитать мой текстовый файл, несмотря на то, что он может записать этот файл.

Вот что мне постоянно показывает консоль Java Eclipse

Exception in thread "main" org.rosuda.REngine.REngineException: eval failed
    at org.rosuda.REngine.Rserve.RConnection.parseAndEval(RConnection.java:499)
    at org.rosuda.REngine.REngine.parseAndEval(REngine.java:108)
    at rserve.WordCloud1.main(WordCloud1.java:30)
Caused by: org.rosuda.REngine.Rserve.RserveException: eval failed
    at org.rosuda.REngine.Rserve.RConnection.eval(RConnection.java:261)
    at org.rosuda.REngine.Rserve.RConnection.parseAndEval(RConnection.java:497)
    ... 2 more

и это то, что RStudio постоянно показывает мне

Error: long vectors not supported yet: qap_encode.c:36
Fatal error: unable to initialize the JIT

Я пробовал все, что мог сделать, чтобы решить эту проблему, но все же я на том же месте.


person KingJinho    schedule 30.05.2018    source источник
comment
К вашему сведению: это не вызвало никаких проблем, когда я делал это исключительно на Rstudio. И я также пытался изменить кодировку.   -  person KingJinho    schedule 30.05.2018
comment
Возможно, связано с github.com/s-u/Rserve/issues/79.   -  person Ralf Stubner    schedule 30.05.2018
comment
для тех, у кого такая же проблема, попробуйте прочитать stackoverflow.com/questions/50410289/   -  person KingJinho    schedule 12.06.2018