R.NET和Microsoft R Open我不能使用包xlsx

时间:2019-09-29 19:05:10

标签: r.net

我只是从R.Net和Microsoft R Open开始。

到目前为止,我已经通过简单的测试取得了成功,但是现在我正在尝试将.rda文件转换为Excel电子表格。

我有以下代码:

        REngine engine = REngine.GetInstance();

        engine.Evaluate("dataset<-read.table(file.choose(), header=TRUE, sep = ',')");

        DataFrame dataset = engine.Evaluate("dataset").AsDataFrame();

        engine.Evaluate("dat <- readRDS(file.choose())");

        engine.Evaluate("if(!require(xlsx)) install.packages(\"xlsx\")");
        engine.Evaluate("library(xlsx)");    // <=== where the failure occurs
        engine.Evaluate("write.xlsx(dat, \"../Data/ACS_sub.xlsx\")");

当我尝试“获取” xlsx软件包时,出现以下错误:

Error: package or namespace load failed for 'xlsx':
.onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/Users/jim/Documents/R/win-library/3.5/rJava/libs/x64/rJava.dll':
LoadLibrary failure:  %1 is not a valid Win32 application.

“ rjava”按“ xlsx”原样安装,我使用了“ engine.Evaluate(“ install_packages()”);“这样做。

“ openxlsx”也安装在同一目录中,当我尝试使用相同的方式安装时也可以正常工作。

尽管我使用的是R Open 3.5.3,但安装目录为“ C:\ Users \ jim \ Documents \ R \ win-library \ 3.5 \ openxlsx \ libs \ x64”。到目前为止,我还没有找到将包路径设置为更合适的目录的方法。

已安装Java 1.8.0.171,并且正确设置了环境变量“ JAVA_HOME”。

我担心的是其他软件包可能需要rjava,因此我想使用此简单测试来验证这一点,我有点茫然。

1 个答案:

答案 0 :(得分:0)

如果您在Visual Studio中工作,请尝试以下操作:转到项目属性,然后构建并选择平台目标x64