[英]Running multiple Cox-PH models with tidyr
我有一個來自生存 package 的常規survival
Surv
;
s <- Surv(sample(100:150, 5), sample(c(T, F), 5, replace = T))
以及多個變量的矩陣;
df <- data.frame(var1 = rnorm(5),
var2 = rnorm(5),
var3 = rnorm(5))
我需要分別為每個變量安裝 Cox-PH model。 我的代碼目前使用如下循環:
for (v in colnames(df)) {
coxph(s ~ df[[v]])
}
當然,現實中有成千上萬的變量,這個過程需要一點時間。 我想按照此處給出的答案嘗試使用tidyr
完成所有操作,但我有點難過,因為 predictand 不是一個因素,它是一個生存 object,所以我不太知道如何處理它作為一個小問題。
假設您s
響應是生存 model,您可以使用類似於您鏈接到的答案的嵌套 dataframe,然后 map model 到不同的變量:
圖書館(整潔的宇宙)
df_nested <- df %>% pivot_longer(cols = var1:var3) %>% group_by(name) %>% nest()
surv_model <- function(df) {
coxph(s ~ df$value)
}
df_nested <- df_nested %>% mutate(model = map(data, surv_model))
df_nested
# A tibble: 3 x 3
# Groups: name [3]
name data model
<chr> <list> <list>
1 var1 <tibble [5 x 1]> <coxph>
2 var2 <tibble [5 x 1]> <coxph>
3 var3 <tibble [5 x 1]> <coxph>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.