Java 如何解决;错误:尚不支持长向量:qap_encode.c:36;?

Java 如何解决;错误:尚不支持长向量:qap_encode.c:36;?,java,r,rstudio,rjava,rserve,Java,R,Rstudio,Rjava,Rserve,我正在尝试使用Rserve将java与R连接起来 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(可以说是JavaEclipse)并继续键入。下面是我在Eclipse上所做的 package rser

我正在尝试使用Rserve将java与R连接起来

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(可以说是JavaEclipse)并继续键入。下面是我在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)
我不知道为什么它不能读我的文本文件,尽管它可以写那个文件

这就是JavaEclipse控制台一直向我展示的内容

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
Error: long vectors not supported yet: qap_encode.c:36
Fatal error: unable to initialize the JIT
这就是RStudio一直向我展示的

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
Error: long vectors not supported yet: qap_encode.c:36
Fatal error: unable to initialize the JIT

我尽了我所能来解决这个问题,但我仍然站在同一个位置上

仅供参考:当我仅仅在Rstudio上做这件事时,它没有引起任何问题。我试图改变编码方式,也可能与那些有相同问题的人有关,试着阅读