0

我需要你的帮助!我有一个包含 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 中只导出每个变量的系数,也就是第三行,而不是全部三个。

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

4

1 回答 1

0

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')
于 2021-06-09T12:56:15.873 回答