2017-04-24 79 views
1

我每次運行使用R中的生存包的Cox模型時都會收到以下錯誤。此錯誤在最近幾天內出現。爲了說明這個錯誤,我使用它在https://stat.ethz.ch/R-manual/R-devel/library/survival/html/coxph.html給出一個標準的例子命令:R coxph()錯誤:找不到對象'Ccoxmart'

# Fit a stratified model, clustered on patients 
library(survival) 
bladder1 <- bladder[bladder$enum < 5, ] 
coxph(Surv(stop, event) ~ (rx + size + number) * strata(enum) + 
     cluster(id), bladder1) 

我得到的錯誤如下:

Error in fitter(X, Y, strats, offset, init, control, weights = weights, : 
    object 'Ccoxmart' not found 

我使用最新的R版本3.4的。 0(2017-04-21) - 「你愚蠢的黑暗」]。

我已經試過查閱R的生存軟件包手冊並在互聯網上進行了研究。我很感謝您推薦的任何資源或解決方案。

+0

所以你正在使用過時的版本。包中。 –

回答

10

我可以證實這個錯誤。這絕對是與從R 3.3.3(另一個獨木舟) - > R 3.4.0(你愚蠢的黑暗)更新有關。星期五我的系統中的所有單元測試都正常工作,星期一打破。

另外,我還遇到了「Ccoxph_wtest」未找到問題。必須是類似的問題。

我會在今天晚些時候開始調試,讓你知道我發現了什麼,但是現在如果你必須恢復正常運行,我建議恢復到R v3.3.3(另一個獨木舟)。我已經使用v3.3.3重新運行了所有的單元測試,一切都很好。

這裏是sessionInfo()

R version 3.3.3 (2017-03-06) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 16.04.2 LTS 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets base 


R version 3.4.0 (2017-04-21) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 16.04.2 LTS 

Matrix products: default 
BLAS: /usr/lib/atlas-base/atlas/libblas.so.3.0 
LAPACK: /usr/lib/atlas-base/atlas/liblapack.so.3.0 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets base  

loaded via a namespace (and not attached): 
[1] compiler_3.4.0 

我的解決辦法是重新安裝生存包。只需將它安裝在原件的頂部即可。 install.packages("survival")

0

您必須重新安裝使用C或Fortran語言中的R 3.4.0包:

update.packages(checkBuild=TRUE) 

看到這個post

Packages which register native routines for .C or .Fortran need to be re-installed for this version (unless installed with R-devel SVN revision r72375 or later)