2

每次使用 R 中的生存包运行 Cox 模型时,我都会收到以下错误。这个错误是在过去几天内出现的。为了说明错误,我使用了https://stat.ethz.ch/R-manual/R-devel/library/survival/html/coxph.html中给出的标准示例命令:

# 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) -- "You Stupid Darkness"]。

我曾尝试查阅 R 的生存包手册并在互联网上进行了研究。我很感谢您推荐的任何资源或解决方案。

4

2 回答 2

11

我可以确认这个错误。这绝对与 R 3.3.3 (Another Canoe) -> R 3.4.0 (You Stupid Darkness) 的更新有关。我系统中的所有单元测试在星期五正常工作,星期一坏了。

此外,我还遇到了找不到“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").

于 2017-04-24T18:57:05.007 回答
0

您必须在 R 3.4.0 中重新安装使用 C 或 Fortran 的软件包:

update.packages(checkBuild=TRUE)

看到这个帖子

需要为此版本重新安装为 .C 或 .Fortran 注册本机例程的软件包(除非与 R-devel SVN 版本 r72375 或更高版本一起安装)

于 2017-06-07T16:44:26.590 回答