首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将cox.zph放入新函数时发生错误

将cox.zph放入新函数时发生错误
EN

Stack Overflow用户
提问于 2022-10-14 06:03:22
回答 1查看 40关注 0票数 1

我试图写一个R函数来输出统计测试和图形诊断,同时测试比例风险假设。具体来说,我想将survival::cox.zph和survival::coxph放在R函数中,如下所示。

代码语言:javascript
复制
  library(survival)
  data(veteran)

  PH_assumption0 <- function(phmodel,phdata){
  zph <-  survival::cox.zph(survival::coxph(phmodel,
                                            data   = phdata))
  print(zph)
  survminer::ggcoxzph(zph)
  }

  PH_assumption0(Surv(time, status) ~ trt + age, veteran)

但我失败了。有一个错误:is.data.frame(数据)中的错误:找不到对象'phdata‘,来自:is.data.frame(数据)。

我试图将函数中的参数(phmodel,phdata)简化如下:

代码语言:javascript
复制
    PH_assumption1 <- function(phdata){
    zph <-  survival::cox.zph(survival::coxph(Surv(time, status) ~ trt + age,
                                    data   = phdata))
    print(zph)
    survminer::ggcoxzph(zph)
    }
    PH_assumption1(veteran)

    PH_assumption2 <- function(phmodel){
    zph <-  survival::cox.zph(survival::coxph(phmodel,
                                           data   = veteran))
    print(zph)
    survminer::ggcoxzph(zph)
    }
    PH_assumption2(Surv(time, status) ~ trt + age)

他们俩都起作用了,但我不知道为什么。你能帮我理解一下为什么两个论点行不通,而一个论点有效吗?非常感谢。

Rstudio中的输出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-14 11:54:38

代码语言:javascript
复制
library(survival)
library(survminer)

PH_assumption0 <- function(phmodel,phdata){
  zph <-  survival::cox.zph(survival::coxph(phmodel,
                                            data = phdata))
  print(zph)
  survminer::ggcoxzph(zph)
}
phdata <<- veteran
PH_assumption0(Surv(time, status) ~ trt + age, veteran)

通过回溯工作,并且phdata没有被传递给is.data.frame,所以作为一项工作,我做了一个超级任务。添加了搜索程序库调用。删除了数据呼叫。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74064948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档