【问题标题】:save individual model output from a list of model summary从模型摘要列表中保存单个模型输出
【发布时间】:2018-03-18 04:38:22
【问题描述】:

我在回归模型中循环了一个变量列表,并将输出保存为列表,如何将列表中的模型输出到单独的文本文件中?

varlist <- list(var1, var2, var3)

mlist <- lapply(varlist, function(x) {
     lmer(substitute(y ~ x1*x2*i + (1|ID), 
     list(i = as.name(x))), data = df)
 })

mlist_summ <- lapply(mlist, summary)

# how can I save mlist_summ in files? How can I give them different file names? 
# I have tried the following:

for(i in mlist_summ){
   stargazer(i$coefficients, type = "text", out = ... )
}

谢谢!

【问题讨论】:

    标签: r file save output regression


    【解决方案1】:

    也许更好的方法是使用:

    for(i in seq_along(mlist_summ)){
      stargazer(mlist_summ[[i]]$coefficients, type = "text", out = paste0("summary_", i, ".txt"))
    }
    

    这样你可以控制文件名。

    lmmtcars 数据的完整示例:

    library(stargazer)
    data(mtcars)
    
    varlist <- list("cyl", "disp", "hp")
    
    mlist <- lapply(varlist, function(x) {
      lm(substitute(mpg ~ i, 
                      list(i = as.name(x))), data = mtcars)
    })
    
    mlist_summ <- lapply(mlist, summary)
    
    for(i in seq_along(mlist_summ)){
      stargazer(mlist_summ[[i]]$coefficients, type = "text", out = paste0("summary_", i, ".txt"))
    }
    

    另一种方法是先提取系数:

    mlist_summ <- lapply(mlist, function(x){
      summary(x)$coefficients})
    

    并将该列表提供给观星者:

    stargazer(mlist_summ, type = "text", out = "summary.txt")
    

    这样所有模型都在一个文件中。

    【讨论】:

      猜你喜欢
      • 2019-05-12
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2020-10-13
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多