我知道如何从survival
autoplot
按ggfortify
绘制生存曲线(由ovarian
包制作)。在这里,我使用library(survival)
library(ggfortify)
autoplot(survfit(Surv(ovarian$futime, ovarian$fustat) ~ ovarian$resid.ds))
数据框,也来自生存包。
autoplot(survfit(Surv(futime, fustat) ~ resid.ds, data = ovarian))
可以仅使用列名提供幸存函数,并分别指定数据框,如下所示:
data
这很好用。我想做的是在开头使用 myfun <- function(data, time, event, group){
autoplot(survfit(Surv(time, event) ~ group, data))
}
参数将其包装到我自己的函数中,这样我就可以使用管道并在数据帧之前过滤,而不必创建gazillions新的数据帧。
这是功能:
myfun(ovarian, futime, fustat, resid.ds)
Error in Surv(time, event) : object 'futime' not found
然而,调用它会引发错误:
CardElement
我错过了什么吗?
答案 0 :(得分:1)
我想我拥有它。使用下标地址列可以正常工作。
myfun <- function(data, time, event, group){
autoplot(survfit(Surv(data[,time], data[,event]) ~ data[,group]))
}
filter(ovarian, futime < 500) %>%
myfun("futime", "fustat", "resid.ds")
如果你有更优雅或“正确”的解决方案,我会全力以赴。 : - )