r - 如何为观星者组织模型列表?
问题描述
我有一个大型数据集,我想将其分成 13 个部分(按Subsetor
)。在它们中的每一个中,我都会运行 4 个不同plm
的,只改变因变量。
我还想使用coeftest
和使用集群稳健标准错误vcovHC
。以下是一些示例数据:
library(tidyverse)
library(lmtest)
library(sandwich)
library(broom)
df <- structure(list(Subsetor = c("Footwear", "Footwear", "Machinery",
"Machinery"), mmc = c(31028, 22902, 33013, 35017), MassaSalarial_SM_Real = c(0,
0, 0, 2758.78039259859), Ano = c(1990, 1990, 1991, 1991, 1992), Vinculos = c(0, 0, 0, 536), Estab = c(0,
0, 1, 8), salario_real_capita_SM = c(NaN, NaN, NaN, 5.14697834440035
), tarifa_peso_VAB_1990 = c(0.193475, 0.5756, 0.258589287604088,
0.258589287604088)), row.names = c(NA, -4L), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), groups = structure(list(Subsetor = c("Footwear",
"Machinery"), .rows = list(1:2, 3:4)), row.names = c(NA, -2L), class = c("tbl_df",
"tbl", "data.frame"), .drop = TRUE))
首先,我运行回归考虑每个类型的每个因变量Subsetor
:
Model_Vinculos <- df %>%
mutate(salario_real_capita_SM = salario_real_capita_SM %>%
replace(., is.na(.), 0)) %>%
group_by(Subsetor) %>%
nest() %>%
mutate(model = map(data,
~plm(log(Vinculos + 1) ~ log(tarifa_peso_VAB_1990),
data = . ,
model = 'within',
effects = 'twoways',
index = c('mmc', 'Ano'))),
erros.padrao = map(model, ~coeftest(., vcovHC(., type = 'HC0',
cluster = 'group'))),
inf = map(model, broom::tidy)) %>%
select(Subsetor, inf, erros.padrao, model)
我重复了这个过程,创建了 3 个其他对象Model_Estab
:Model_MassaSalarial
和Model_Salario
.
之后我绑定了它们并提取了我想要的信息,即系数和稳健的标准误差:
Models_Subsetor <- list(
Estabelecimentos = Model_Estab,
Massa_Salarial = Model_MassaSalarial,
Remuneracao = Model_Salario,
Vinculos = Model_Vinculos
) %>%
bind_rows(.id = 'id') %>%
select(Subsetor, inf, erros.padrao, id) %>%
unnest(cols = c(inf)) %>%
select(Subsetor, estimate, erros.padrao, id) %>%
mutate(erros.padrao = map(erros.padrao, broom::tidy)) %>%
mutate(se = erros.padrao %>% map_dbl(~ .x[['std.error']])) %>%
select(id, Subsetor, estimate, se) %>%
gather(estimate:se, key = 'key', value = 'value') %>%
spread(id, value)
现在我想将这些结果与stargazer
. 简单地打印Models_Subsetor
并不理想,因为该表不会完全格式化为回归表。
因此,我的问题是获得与此类似的观星表的最简单方法是什么,但这就像一个回归表(根据 p 值使用星号,删除写入“se”的部分,将标准错误放在括号内,允许我添加带有其他一些自定义观察值的行等)。
解决方案
推荐阅读
- android - 膨胀期间的 MvvmCross 异常
- java - 在广播接收器中使用 setExact() 重复
- angular - 如何在 Angular 2 打字稿中保存页面输入状态
- tsql - SqlPackage - 如何阻止它关闭我的查询存储?
- css - PhpStorm 中的 File Watcher 编译速度太快
- android - 单击 RecyclerView 中 HEADER_VIEW 的标题时如何启动新活动以在 IT 中显示项目
- regex - 使用 VBA 正则表达式在 Word 中查找/替换
- c++ - 使用反射在 protobuf 消息中设置 oneof
- c# - c#发送邮件操作超时
- r - h2o 包未在 R 中启动;所需端口不可用