循环输出

时间:2019-07-25 12:04:51

标签: r

我有一个关于公司的数据集。我正在运行工具变量分析回归。我的工具(Z)是赠款1和赠款2。我的自变量(X)是投资,而我的结果变量/因变量(Y)是收入和利润。我在R中使用了lfe和stargazer软件包。我的数据结构datafirm看起来像:

#Firm#   #Revenue#    #Profit#    #Investment#     #Grant1#    #Grant2#
 1        100          50           10              0           80
 2        200          100          100             100         0
 3        100          10           0               0           0
 4        50           0            10              0           0

我尝试了以下代码。虽然可以手动键入以下代码,但是当我增加Y变量的数量时,尤其是在需要在stargazer软件包中输出它们时,我会遇到问题。

ivest <- felm(Profit ~ 0 | 0 | () | 0, data=datafirm,na.action = na.omit)
summary(ivest,robust=TRUE)
ivest_s1 <- summary(ivest$stage1,robust=TRUE)
ivest_weak <- condfstat(ivest, quantiles=c(0.05, 0.95))
ivest2 <- felm(Revenue ~ 0 | 0 | () | 0, data=datafirm,na.action = na.omit)
summary(ivest2,robust=TRUE)
ivest2_s1 <- summary(ivest2$stage1,robust=TRUE)
stargazer(ivest_s1, ivest, ivest2_s1, ivest2, type="html", out="models.htm")

我还有更多变量,例如工资和成本。可能会为这些代码集产生一个循环,从而使其简化为以下形式:

variables <- c("Revenue", "Profit", "Costs", "Wages") 
for (i in variables) {
ivest_"i" <- felm(i ~ 0 | 0 | () | 0, data=datafirm,na.action = na.omit)
summary(ivest2,robust=TRUE)
ivest_"i"_s1 <- summary(ivest2$stage1,robust=TRUE)
}

然后我使用寻星器将它们全部输出到下面:

stargazer(ivest_s1, ivest, ivest2_s1, ivest2, type="html", out="models.htm")

0 个答案:

没有答案