微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从循环导出系数以进行多重 cox 回归

如何解决从循环导出系数以进行多重 cox 回归

我需要你的帮助!我有一个包含 100,000 个案例和 81 个变量的数据集,我对每个变量进行了多元回归循环,每个变量在 r 中针对年龄和性别进行了调整:

covariates <- c(var1,var2,... var81)
purrr:: map(covariates,~coxph(as.formula(paste("Surv(Time,Event) ~ Age + Sex +",.x)),data=mydata))

输出包括年龄、性别和每个变量的系数,如下所示:

coef exp(coef) se(coef) z p
Age 0.0000 0.0000
Sex
Var1

我想知道是否有一种方法可以让我在 excel 中只导出每个变量的系数,也就是只导出第三行,而不是所有三个。

非常感谢您提前提供帮助!

解决方法

mtcars为例 -

library(dplyr)
library(survival)

covariates <- c('mpg','cyl')

purrr:: map_df(covariates,~{
  mod <- coxph(as.formula(paste("Surv(disp,am) ~ hp + ",.x)),data=mtcars)
  summary(mod)$coefficients[.x,]
  }) %>%
  mutate(corvariate = covariates,.before = 1) -> result

result

# corvariate   coef `exp(coef)` `se(coef)`     z `Pr(>|z|)`
#  <chr>       <dbl>       <dbl>      <dbl> <dbl>      <dbl>
#1 mpg         0.614       1.85       0.167  3.68   0.000238
#2 cyl        -2.17        0.114      0.704 -3.08   0.00208 

将输出写入excel -

writexl::write_xlsx(result,'data.xlsx')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。