【问题标题】:Export coefficients from a loop for multiple cox regression从循环中导出系数以进行多重 cox 回归
【发布时间】:2021-06-09 12:27:52
【问题描述】:

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

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

【问题讨论】:

    标签: r cox


    【解决方案1】:

    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')
    

    【讨论】:

    • 感谢您的回复。我试了一下,我收到一个错误:“str2lang(x) 中的错误::1:46: 意外符号”对不起,我对 R 没有太多经验。你知道如何解决这个问题吗? ^
    • 请检查covariates是否全部正确无误。
    • @maggy22 "unexpected symbol" 错误提示类似于使用逗号的句点。我从重复犯同样错误的经验中知道这一点。
    猜你喜欢
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    相关资源
    最近更新 更多