2017-04-24 356 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)