r语言 - 可以交互方式使用包,但 Rscript 给出错误



我在R中使用"topicmodels"包.一切都以交互方式工作正常,但是如果我使用Rscript运行完全相同的命令,则会出现错误。

第一个错误(我解决了)是 R 不知道 is() 函数是什么。我通过导入"methods"包解决了这个问题。显然,Rscript不会自动导入它,即使交互式 R 会导入,这导致了 is() 的问题。问题解决了。

但是,我现在陷入了另一个错误,我无法弄清楚。我在"topicmodels"包中使用LDA()函数,使用数据(DTM 格式)和 k=10。我这样称呼它:

library(plyr)
library(lda)
library(topicmodels)
x = as.data.frame(sapply(1:100, function(x) sample(1:100,100,replace=T)))
u = llply(colnames(x), function(a) rbind(0:(length(x[,a])-1),x[,a]))
v = rownames(x)
y = ldaformat2dtm(u, v)
a = LDA(x, 10)

它给了我以下错误:

> Error in as(control, "LDA_VEMcontrol") :
>   no method or default for coercing "NULL" to "LDA_VEMcontrol"
> Calls: LDA -> method -> as
> Execution halted

最主要的是这是交互式工作的,但不使用 Rscript .我知道数据的格式正确,如果我打印数据,它看起来不错。我还缺少什么吗?是否有其他模块Rscript不加载,但 R 交互式加载?谢谢!

我只是通过Rscriptsource()在交互式会话中运行了该示例,两者都有效。 Rscript的唯一输出是:

% Rscript /tmp/sc.r
Loading required package: methods

所以它似乎已经自己想出了methods的事情。

我有 R 3.0.1,也许您有旧版本的 R 或其中一个软件包? 他们可能已经更新了他们的先决条件列表以包括methods

相关内容

  • 没有找到相关文章

最新更新