【发布时间】:2021-09-11 03:33:19
【问题描述】:
我想在一个数据表中总结多重回归的结果。
示例中使用的包:
library(data.table)
library(fixest)
library(broom)
library(tidyr)
示例数据
dt <- data.table(mtcars)
首先,我创建将使用的所有公式。
y_vars <- c("mpg","cyl")
x_vars <- c("disp", "hp")
vars <- tidyr::crossing(y_vars, x_vars)
vars$formula <- paste(vars$y_vars, "~", vars$x_vars)
formulas <- vars$formula
然后我估计所有模型并使用 tidy() 总结结果:
res <- lapply(formulas ,function(i) tidy(feols(as.formula(i),data=dt)))
data.table::rbindlist(res)
这是生成的数据表:
term estimate std.error statistic p.value
1: (Intercept) 3.18856797 0.296387718 10.758097 8.121618e-12
2: disp 0.01299804 0.001135649 11.445474 1.802838e-12
3: (Intercept) 3.00679525 0.425485225 7.066744 7.405351e-08
4: hp 0.02168354 0.002635142 8.228604 3.477861e-09
5: (Intercept) 29.59985476 1.229719515 24.070411 3.576586e-21
6: disp -0.04121512 0.004711833 -8.747152 9.380327e-10
7: (Intercept) 30.09886054 1.633920950 18.421246 6.642736e-18
8: hp -0.06822828 0.010119304 -6.742389 1.787835e-07
问题是我无法识别此汇总表中的 y 变量。 理想情况下,我希望多一列取 y 变量的值。 我查看了 tidy() 文档,但没有找到如何添加它。
你知道怎么做吗?
【问题讨论】:
标签: r dataframe regression tidyr