2013-11-05 4 views
2

R에서 "topicmodels"패키지를 사용하고 있습니다. 대화식으로 모든 것이 잘 작동하지만, 정확히 동일한 명령을 Rscript을 사용하여 실행하면 오류가 발생합니다.는 대화식으로 패키지를 사용할 수 있지만 Rscript는 오류를 나타냅니다.

첫 번째 오류 (내가 풀린 문제)는 R이 is() 기능이 무엇인지 알지 못했다는 것입니다. 나는 "methods" 패키지를 가져 와서 이것을 해결했다. 분명히 Rscript은 대화식 R이 수행하는 경우에도 자동으로 가져 오지 않으므로 is()에 문제가 발생했습니다. 문제 해결됨.

그러나 이제는 다른 오류가 발생하여 이해할 수 없습니다. 데이터 (DTM 형식) 및 k = 10을 사용하여 "topicmodels" 패키지의 LDA() 함수를 사용하고 있습니다.

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

500MB 파일을 첨부 할 수 있습니까? 어쨌든, 내 질문은 Rscript 대 R 대화 형에 관한 것입니다. Rscript를 R interactive처럼 정확하게 실행할 수있는 방법이 있습니까? –

+0

'dput (head (x, 15))'를 사용하는 서브셋을 사용하지 말고 에러가 발생하는지 확인하십시오. –

답변

2

대화 형 세션에서 Rscriptsource()을 통해 예제를 실행했습니다. 둘 다 작동했습니다. Rscript의 유일한 출력했다 :

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

그래서 그것 자체에 methods 일을 알아 낸 것 같다.

나는 R 3.0.1을 가지고있다. R의 이전 버전이나 패키지 중 하나가있을 수있다. 사전 요청 목록에 methods을 포함하도록 업데이트되었을 수 있습니다.