各位大佬,想请教一个问题,这个问题困扰我3天了,问题如下library(survival)
library(rms)
dt<-cancer
dd<-datadist(dt)
options(datadist='dd')
fit <- cph(Surv(dt$time,dt$status==1) ~ rcs(age,4), x=TRUE, y=TRUE,data=dt)
pr1<-rms::Predict(fit,age=dt$age,fun=exp,type="predictions",ref.zero=T,conf.int = 0.95,digits=2)
这组代码在外部运行得很好,求出了预测数据pr1,我想写个function在已知数据和fit的情况下求pr1
f<-function(data,fit,x){
fit <- fit
x<-dt[,x]
dt<-data
pr1 <-rms::Predict(fit,x=dt$x,fun=exp,type="predictions",ref.zero=T,conf.int = 0.95,digits=2)
pr1
}
f(dt,fit,"age")
我调式了一下,主要错在x=dt$x,这一句,在外部运行的是时候是age=dt$age,而在function中运行变成了"age"=dt$age多了一个双引号,导致失败。我想请教一下各位大佬有什么办法可以实现我function中的代码,得出pr1吗?先谢谢了,论坛编辑代码太难了,请看附件附有代码。


雷达卡




京公网安备 11010802022788号







