我正在使用R运行数据面板回归。 我使用那些data(第2页)。
我想对面板数据使用固定效果。请在下面找到我固定效果的代码
FE_1 <- plm(GDP_per_capita_growth ~
log(GDP_per_capita) + GF_GDP + MA_GDP +
start_business + Invest_GDP +
second_schooling + Pop_growth +
log(Inflation_CPI) + Trade +
GF_GDP * start_business +
factor(as.character(time_fixed_effect)) +
factor(as.character(regional)) +
factor(as.character(oil_exporting_countries)),
data = Temp_1,
index = c("country",
"year"),
na.action = na.omit,
model = "within")
当我为面板数据固定效果运行摘要时,缺少一些变量,例如time_fixed_effect,region和oil_exporting_countries。 下面,我得到的结果。
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
log(GDP_per_capita) -1.9676e+01 5.0218e+00 -3.9181 0.0001386 ***
GF_GDP 1.2637e+00 1.9705e+00 0.6413 0.5223695
MA_GDP 1.9337e+01 8.3736e+00 2.3093 0.0223807 *
start_business -1.3378e-07 1.0077e-07 -1.3276 0.1864403
Invest_GDP 1.5166e-08 1.1173e-08 1.3574 0.1768341
second_schooling -4.9808e-01 5.4186e+00 -0.0919 0.9268910
Pop_growth -1.6174e+00 5.9779e-01 -2.7055 0.0076606 **
log(Inflation_CPI) 1.3861e-01 3.2403e-01 0.4278 0.6694806
Trade 1.8669e-02 1.8617e-02 1.0028 0.3176852
factor(as.character(time_fixed_effect))1 3.8295e-01 4.4318e-01 0.8641 0.3890017
GF_GDP:start_business 5.0494e-07 3.4416e-07 1.4672 0.1445566
---
我想知道,我应该怎么做才能显示所有虚拟变量。我的代码中是否有错误?
我写了index = c("country", "year"),
而不是index = c("year", "country"),
,得到了以下结果:
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
log(GDP_per_capita) -3.3627e+00 2.0642e+00 -1.6291 0.105013
GF_GDP 1.2334e+00 1.8129e+00 0.6804 0.497127
MA_GDP 5.2312e-01 6.4419e+00 0.0812 0.935366
start_business 1.4314e-08 3.0105e-08 0.4755 0.635022
Invest_GDP -9.8744e-10 1.5174e-09 -0.6507 0.516025
second_schooling 1.0860e+00 1.0806e+00 1.0050 0.316205
Pop_growth -6.3753e-01 2.2690e-01 -2.8097 0.005494 **
log(Inflation_CPI) 1.4547e-01 2.5011e-01 0.5816 0.561550
Trade 9.2730e-04 3.8306e-03 0.2421 0.808991
factor(as.character(regional))2 -1.0668e+00 8.3584e-01 -1.2763 0.203441
factor(as.character(regional))3 -2.6186e-01 6.6220e-01 -0.3954 0.692972
factor(as.character(regional))4 1.4760e-01 7.9347e-01 0.1860 0.852639
factor(as.character(regional))5 1.3558e+00 7.2400e-01 1.8727 0.062696 .
factor(as.character(oil_exporting_countries))1 -1.8890e-01 4.4884e-01 -0.4209 0.674344
GF_GDP:start_business -2.9751e-08 1.3526e-07 -0.2199 0.826157
---
我不知道为什么会得到这个结果!您能帮我找出原因吗?还请帮助我显示“ time_fixed-effect”变量。
预先感谢您的宝贵帮助。
PS:这是完整的代码
# Rename column names
colnames(my_data)[4] <- "Invest_GDP" # percentage
colnames(my_data)[9] <- "Pr_sector_GDP" # percentage
colnames(my_data)[12] <- "start_business"
colnames(my_data)[16] <- "second_schooling"
colnames(my_data)[18] <- "GDP_per_capita_growth"
# Transform column "inflation" as numeric
my_data$Inflation_CPI <- as.numeric(my_data$Inflation_CPI)
my_data$second_schooling <- as.numeric(my_data$second_schooling)
Temp_1 <- my_data %>%
select(
-region,
-Pr_sector_GDP,
-Prop_rights,
-T_freedom,
-current_invest
)
答案 0 :(得分:1)
由于多重共线性而未显示变量-就像@AntoniosK建议那样将它们删除。 plm
并不冗长,也不会告诉您,但是如果您使用lm
估计相同的模型,则可以更清楚地看到它(我对输出做了一些删节):
> summary(lm(GDP_per_capita_growth ~
+ log(GDP_per_capita) + GF_GDP + MA_GDP +
+ start_business + Invest_GDP +
+ second_schooling + Pop_growth +
+ log(Inflation_CPI) + Trade +
+ GF_GDP * start_business + factor(country) +
+ factor(time_fixed_effect) +
+ factor(regional) +
+ factor(oil_exporting_countries),
+ data = Temp_1))
Call:
lm(formula = GDP_per_capita_growth ~ log(GDP_per_capita) + GF_GDP +
MA_GDP + start_business + Invest_GDP + second_schooling +
Pop_growth + log(Inflation_CPI) + Trade + GF_GDP * start_business +
factor(country) + factor(time_fixed_effect) + factor(regional) +
factor(oil_exporting_countries), data = Temp_1)
Residuals:
Min 1Q Median 3Q Max
-6.263 -1.070 0.000 1.029 7.001
Coefficients: (5 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.609e+01 5.791e+00 4.506 1.38e-05 ***
log(GDP_per_capita) -1.968e+01 5.022e+00 -3.918 0.000139 ***
GF_GDP 1.264e+00 1.970e+00 0.641 0.522370
MA_GDP 1.934e+01 8.374e+00 2.309 0.022381 *
start_business -1.338e-07 1.008e-07 -1.328 0.186440
Invest_GDP 1.517e-08 1.117e-08 1.357 0.176834
second_schooling -4.981e-01 5.419e+00 -0.092 0.926891
Pop_growth -1.617e+00 5.978e-01 -2.706 0.007661 **
log(Inflation_CPI) 1.386e-01 3.240e-01 0.428 0.669481
Trade 1.867e-02 1.862e-02 1.003 0.317685
factor(country)Algeria 2.489e+00 2.448e+00 1.017 0.310886
...
factor(country)Vietnam -4.958e-01 2.338e+00 -0.212 0.832356
factor(time_fixed_effect)1 3.830e-01 4.432e-01 0.864 0.389002
factor(regional)2 NA NA NA NA
factor(regional)3 NA NA NA NA
factor(regional)4 NA NA NA NA
factor(regional)5 NA NA NA NA
factor(oil_exporting_countries)1 NA NA NA NA
GF_GDP:start_business 5.049e-07 3.442e-07 1.467 0.144557
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.383 on 141 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.5391, Adjusted R-squared: 0.3397
F-statistic: 2.703 on 61 and 141 DF, p-value: 6.858e-07
您的第二个plm
模型会得到不同的结果,因为它是一个不同的模型 -您告诉它year
是您的实体固定效应,因此用年假人而不是国家假人来估计模型!
Again, using `lm`, here's what you are estimating:
> summary(lm(GDP_per_capita_growth ~
+ log(GDP_per_capita) + GF_GDP + MA_GDP +
+ start_business + Invest_GDP +
+ second_schooling + Pop_growth +
+ log(Inflation_CPI) + Trade +
+ GF_GDP * start_business + factor(year) +
+ factor(time_fixed_effect) +
+ factor(regional) +
+ factor(oil_exporting_countries),
+ data = Temp_1))
Call:
lm(formula = GDP_per_capita_growth ~ log(GDP_per_capita) + GF_GDP +
MA_GDP + start_business + Invest_GDP + second_schooling +
Pop_growth + log(Inflation_CPI) + Trade + GF_GDP * start_business +
factor(year) + factor(time_fixed_effect) + factor(regional) +
factor(oil_exporting_countries), data = Temp_1)
Residuals:
Min 1Q Median 3Q Max
-6.7279 -1.2924 -0.1109 1.2808 10.6906
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.032e+00 2.442e+00 3.699 0.000286 ***
log(GDP_per_capita) -3.363e+00 2.064e+00 -1.629 0.105013
GF_GDP 1.233e+00 1.813e+00 0.680 0.497127
MA_GDP 5.231e-01 6.442e+00 0.081 0.935366
start_business 1.431e-08 3.011e-08 0.475 0.635022
Invest_GDP -9.874e-10 1.517e-09 -0.651 0.516025
second_schooling 1.086e+00 1.081e+00 1.005 0.316205
Pop_growth -6.375e-01 2.269e-01 -2.810 0.005494 **
log(Inflation_CPI) 1.455e-01 2.501e-01 0.582 0.561550
Trade 9.273e-04 3.831e-03 0.242 0.808991
factor(year)2008 -2010 -9.536e-01 5.308e-01 -1.796 0.074056 .
factor(year)2011-2013 -1.449e+00 5.336e-01 -2.714 0.007269 **
factor(year)2014-2016 -2.261e+00 5.554e-01 -4.071 6.93e-05 ***
factor(time_fixed_effect)1 NA NA NA NA
factor(regional)2 -1.067e+00 8.358e-01 -1.276 0.203441
factor(regional)3 -2.619e-01 6.622e-01 -0.395 0.692972
factor(regional)4 1.476e-01 7.935e-01 0.186 0.852639
factor(regional)5 1.356e+00 7.240e-01 1.873 0.062696 .
factor(oil_exporting_countries)1 -1.889e-01 4.488e-01 -0.421 0.674344
GF_GDP:start_business -2.975e-08 1.353e-07 -0.220 0.826157
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.56 on 184 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.3063, Adjusted R-squared: 0.2384
F-statistic: 4.513 on 18 and 184 DF, p-value: 4.363e-08
现在,您不清楚要做什么。如果您解释要通过分析实现的目标,这可能会有所帮助。
您想要国家和年份固定效果吗?
time_fixed_effect
变量到底在做什么?
如果要获得国家和年份的固定效果,则需要参数effect = "twoway"
。默认情况下,plm
指定effect = "individual"
,它仅估算实体固定效果模型。
FE_1 <- plm(GDP_per_capita_growth ~
log(GDP_per_capita) + GF_GDP + MA_GDP +
start_business + Invest_GDP +
second_schooling + Pop_growth +
log(Inflation_CPI) + Trade +
GF_GDP * start_business +
factor(as.character(regional)) +
factor(as.character(oil_exporting_countries)),
data = Temp_1,
index = c("country", "year"),
model = "within", effect = "twoway")