Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何组织stargazer的模型列表?_R_Stargazer_Plm - Fatal编程技术网

如何组织stargazer的模型列表?

如何组织stargazer的模型列表?,r,stargazer,plm,R,Stargazer,Plm,我有一个很大的数据集,我想在其中划分成13个部分(按子对象)。在每一个变量中,我将运行4个不同的plm,只改变因变量 我还想使用coeftest和vcovHC来使用集群健壮的标准错误。以下是一些示例数据: library(tidyverse) library(lmtest) library(sandwich) library(broom) df <- structure(list(Subsetor = c("Footwear", "Footwear", "Machinery", "Ma

我有一个很大的数据集,我想在其中划分成13个部分(按
子对象
)。在每一个变量中,我将运行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))
我重复了创建其他3个对象的过程:
Model\u Estab
Model\u massalarial
Model\u 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) 
Models\u子项%
绑定行(.id='id')%>%
选择(子项,inf,erros.padrao,id)%>%
unnest(cols=c(inf))%>%
选择(子项,估计,错误率,id)%>%
突变(erros.padrao=map(erros.padrao,broom::tidy))%>%
变异(se=erros.padrao%>%map_dbl(~.x['std.error']]))%>%
选择(id、子项、估计、se)%>%
聚集(估计值:se,key='key',value='value')%>%
排列(id、值)
现在我想将这些结果用于
stargazer
。只需撬动
Models\u子项
这并不理想,因为该表的格式不完全是回归表


因此,我的问题是,获取类似于此的stargazer表的最简单方法是什么,但这类似于回归表(根据p值使用星号,删除写入“se”的部分,将标准错误放在括号内,允许我添加带有其他自定义观察值的行,等等).

你能举一个更简单的例子吗?这对我来说是不可复制的,因为您没有在df中定义
Ano
。当保存plm模型并将其直接放入stargazer时,您面临什么限制?@MarcoDoe抱歉,刚刚编辑了我的数据-我忘记了一个专栏。我的问题是,我实际上必须运行13 x 4=52个回归。(即数据库13个子集的4个因变量)。本着这种精神,我希望stargazer能给我一些类似于
模型的东西。然而,如果我只列出我所有的模型,stargazer会给我一个52 x 1的回归表,这远远不是理想的,直到对我不起作用为止。举个简单的例子会更有帮助。此外,我不知道您的理想输出会是什么样子。您可以在4个表中显示13个扇区的4种不同模型。在普通的stargazer中(它接受列表)。你想把所有的东西都放在一张DINA4的纸上吗?对我来说,最好把所有的东西都放在一张桌子上。将有13行(扇区)和4列(模型)。每个值代表相同的系数,因为所有模型都有相同的自变量
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)