我试图写一个R函数来输出统计测试和图形诊断,同时测试比例风险假设。具体来说,我想将survival::cox.zph和survival::coxph放在R函数中,如下所示。
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)简化如下:
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)他们俩都起作用了,但我不知道为什么。你能帮我理解一下为什么两个论点行不通,而一个论点有效吗?非常感谢。
发布于 2022-10-14 11:54:38
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,所以作为一项工作,我做了一个超级任务。添加了搜索程序库调用。删除了数据呼叫。
https://stackoverflow.com/questions/74064948
复制相似问题