我在使用phangorn
軟件包試圖運行R
腳本時收到奇怪的錯誤。每當我使用運行該腳本: Rscript mini_example.R
它失敗,出現錯誤消息:R phangorn Rscript R CMD BATCH不同結果
Error in as.vector(data) :
no method for coercing this S4 class to a vector
Calls: pml ... as.matrix -> as.matrix.default -> array -> as.vector
這可能表明一些命名空間的煩惱。但是,運行R CMD BATCH mini_example.R OUT.txt
時,一切運行平穩,沒有錯誤。
代碼mini_example.R
:
library(phangorn)
sessionInfo()
data(Laurasiatherian)
dm <- dist.ml(Laurasiatherian)
tree <- NJ(dm)
fitJC <- pml(tree, Laurasiatherian)
fitJC <- optim.pml(fitJC)
print('==>>Success <<==')
我比較sessionInfo()
爲Rscript
和R CMD BATCH
兩者(見下文),唯一不同的是,使用Rscript
方法時未安裝,而是通過命名空間加載。我有點困惑這個問題,所以這將是巨大的,如果有人用更多的知識可能有一個想法是什麼,可能會導致Rscript
麻煩......
當R CMD批
R version 3.2.1 (2015-06-18)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.9.5 (Mavericks)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] phangorn_1.99.14 ape_3.3
loaded via a namespace (and not attached):
[1] Matrix_1.2-2 nnls_1.4 parallel_3.2.1 igraph_0.7.1
[5] nlme_3.1-120 grid_3.2.1 lattice_0.20-31 quadprog_1.5-5
對於RSCRIPT
R version 3.2.1 (2015-06-18)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.9.5 (Mavericks)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets base
other attached packages:
[1] phangorn_1.99.14 ape_3.3
loaded via a namespace (and not attached):
[1] Matrix_1.2-2 nnls_1.4 parallel_3.2.1 igraph_0.7.1
[5] nlme_3.1-120 grid_3.2.1 methods_3.2.1 lattice_0.20-31
[9] quadprog_1.5-5
您的解決方案有效。引用'?Rscript':Rscript省略了方法,因爲它佔用了大約60%的啓動時間......所以這就是原因,並沒有意識到這一點。 –