首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Rscript不能运行R能够很好处理的FSelector脚本?

为什么Rscript不能运行R能够很好处理的FSelector脚本?
EN

Stack Overflow用户
提问于 2013-07-25 19:50:02
回答 1查看 1.1K关注 0票数 0

这是个人记录,因为谷歌很难解决这个问题,我想几年后我还会再次遇到这个问题。

我的剧本是这样的:

代码语言:javascript
复制
library(FSelector)
table <- read.csv("somefile", header=0);
table <- table[,colSums(is.na(table))<nrow(table)]
imputed_table <- apply(table, 2, function(x){x <- replace(x, is.na(x), mean(x, na.rm=TRUE))});
nms <- colnames(table)
model <- information.gain(as.formula(paste(nms[length(nms)],"~.")), table)

当运行时:

代码语言:javascript
复制
R --no-save < IG.R

这很好,并打印模型。

当运行时:

代码语言:javascript
复制
Rscript ./IG.R

这与错误崩溃:

代码语言:javascript
复制
Error in .jarray(x) : could not find function "getClass"
Calls: information.gain ... read_model_frame_into_Weka -> read_data_into_Weka -> .jcall -> .jarray -> .Call
Execution halted

这一切为什么要发生?

EN

回答 1

Stack Overflow用户

发布于 2013-07-25 19:51:23

这是因为Rscript默认不加载rJava库,这是FSelector所需要的,但是在加载FSelector时显然没有加载。相反,标准的"R“命令默认情况下确实加载rJava。

要解决这一问题,请添加:

代码语言:javascript
复制
library(rJava)

到information.gain调用之前的脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17867464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档