2013-11-05 41 views
2

我使用R.一切「topicmodels」包工程交互式精細RSCRIPT給人錯誤,但如果我運行使用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交互式加載?謝謝!

+0

由於您沒有提供'x'我們也許你在將其提供給R作爲以及失職。 –

+0

我可以附加一個500 MB的文件嗎?無論如何,我的問題是關於Rscript與R交互。有沒有辦法像R交互一樣運行Rscript? –

+0

沒有使用'dput(head(x,15))'的一個子集,並確保這也給出了錯誤。 –

回答

2

我只是通過Rscript跑的例子,並通過在交互式會話source(),都工作。從Rscript輸出僅是:

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

所以它似乎已經想通了methods東西放在自己的。

我具有R 3.0.1,也許你的R或更舊版本的包呢?他們可能已經更新了他們的prereqs列表,包括methods

相關問題