【发布时间】:2020-07-19 00:02:24
【问题描述】:
假设我正在尝试自动创建许多回归模型,如下所示:
library(stargazer)
get_main_effect_models <- function(data, outcome_vars){
temp_list = list()
i <- 0
for(dv in outcome_vars) {
temp_model <- lm(as.formula(paste(dv, "~ iv")),
data = data)
temp_list = append(temp_list, temp_model)
}
return(temp_list)
}
dvs <- list('a', 'b')
fake_data = data.frame(a = rnorm(n = 100), b = rnorm(n = 100), iv = rnorm(n = 100))
summary_table = get_main_effect_models(fake_data, dvs)
stargazer(summary_table)
list.of.objects[[i]] 中的错误:下标超出范围
生成的 summary_table 不是对象列表。这是模型的字符表示的大列表。如何将实际回归模型存储在列表中以供观星者使用?
【问题讨论】:
-
您应该在使用随机数据进行演示的问题中包含
set.seed。 -
当您有多个结果变量但相同的预测变量时,您可以使用
lm(as.matrix(data[,outcome_vars]) ~ iv, data)拟合它们,从而避免显式循环。