我只是从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,因此我想使用此简单测试来验证这一点,我有点茫然。
答案 0 :(得分:0)
如果您在Visual Studio中工作,请尝试以下操作:转到项目属性,然后构建并选择平台目标x64