【发布时间】:2018-05-12 09:26:54
【问题描述】:
我有一个命名数据框的列表:
library(survival)
library(survminer)
surv.days<- runif(n = 50, min = 0, max = 500)
censor<- sample(c(0,1), 50, replace=TRUE)
survdata<- data.frame(surv.days, censor)
survlist<- list(survdata, survdata)
names(survlist)<- c("name1", "name2")
rm(survdata, censor, surv.days)
我想在每个数据帧上运行一个 survfit,然后生成几个图(为了简单起见,我在这里只放了一个),每个图都有相应的标题。我认为 Map 是这样做的方法,所以:
titles<- names(survlist)
然后我定义我想用来运行生存分析和绘图的函数:
survival.function<- function(survivaldata, datanames){
sfit<- survfit(Surv(surv.days, censor)~1, data=survivaldata)
ggsurvplot(sfit, conf.int=TRUE, risk.table=TRUE,
surv.median.line = "v",
title=datanames,
risk.table.height=.25)
}
并尝试应用它:
Map(survival.function, survlist, titles)
但这个想法没有奏效:
“eval 中的错误(fit$call$data):找不到对象‘survivaldata’”
有没有办法将对象正确分配给生存功能?
谢谢!。
【问题讨论】:
标签: r list plot apply survival-analysis