系列文章

  1. R做面板数据分析:R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型

  2. 如果想看随机效应模型怎么做,参见这篇文章
    R语言 面板数据分析 plm包实现(二)——随机效应模型

  3. 如果想看如何判断面板数据适用随机效应模型还是固定效应模型,参见这篇文章:
    R语言 面板数据分析 plm包实现(三)——面板数据与面板模型的检验

  4. 使用随机效应模型,且一些时间或个体存在数据缺失,应当使用Swamy Arora估计,如何用R语言来实现,参见这篇文章:
    R语言 面板数据如何做Swamy Arora估计。

  5. 如何从统计年鉴获知某地接受转移支付额度

目录

  • 系列文章
  • 1.模型描述
    • 数据导入
  • 2.假定γt =0,直接估计随机 “Individual effects” 模型
  • 3.假定ui =0,直接估计随机“Time effects”模型;

首先是plm包安装和数据导入部分,参见文章:
《R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型》
使用随机效应模型,且一些时间或个体存在数据缺失,应当使用Swamy Arora估计,如何用R语言来实现,参见这篇文章:
R语言 面板数据如何做Swamy Arora估计。

1.模型描述

有数据集:Ex1_1.dta
数据样式:
点击下载
其中FN代表公司,总共有三家;YR代表年份;I是总投资;F是企业实际价值;C是企业实际资本存量。

更多解释:

数据导入

这个数据集是stata的数据集,因此在Rstudio中你可以选择文件–>导入数据集(import dataset)–>导入stata文件,即可完成导入工作

此外,我好像在其它地方也看见过此数据集,如果你无法下载,可以在其它地方寻找数据集(我印象里是在某个面板相关的R程序包里自带的数据集)。

很多童鞋反映数据集获取困难,我把这个数据集上传到github的一个项目里了(免费),注意,只有一个文件是数据集。如果有帮到你,请给文章点个赞哦~

2.假定γt =0,直接估计随机 “Individual effects” 模型

# R codes
rankData<-pdata.frame(Ex1_1,index=c("FN","YR")) #index里是个体和时间,转化为面板数据
random <- plm(I~ F + C,data=rankData,effect = "individual", model="random")
summary(random)

输出结果:

Oneway (individual) effect Random Effect Model 
   (Swamy-Arora's transformation)

Call:
plm(formula = I ~ F + C, data = rankData, effect = "individual", 
    model = "random")

Balanced Panel: n = 10, T = 20, N = 200

Effects:
                  var std.dev share
idiosyncratic 2784.46   52.77 0.282
individual    7089.80   84.20 0.718
theta: 0.8612

Residuals:
     Min.   1st Qu.    Median   3rd Qu.      Max. 
-177.6063  -19.7350    4.6851   19.5105  252.8743 

Coefficients:
              Estimate Std. Error z-value Pr(>|z|)    
(Intercept) -57.834415  28.898935 -2.0013  0.04536 *  
F             0.109781   0.010493 10.4627  < 2e-16 ***
C             0.308113   0.017180 17.9339  < 2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Total Sum of Squares:    2381400
Residual Sum of Squares: 548900
R-Squared:      0.7695
Adj. R-Squared: 0.76716
Chisq: 657.674 on 2 DF, p-value: < 2.22e-16

即广义最小二乘法GLS,结果解读课参见上一篇文章,此处略去。

3.假定ui =0,直接估计随机“Time effects”模型;

# R codes
rankData<-pdata.frame(Ex1_1,index=c("FN","YR")) #index里是个体和时间,转化为面板数据
random2 <- plm(I~ F + C,data=rankData,effect = "time", model="random")
summary(random2)

结果:

Oneway (time) effect Random Effect Model 
   (Swamy-Arora's transformation)

Call:
plm(formula = I ~ F + C, data = rankData, effect = "time", model = "random")

Balanced Panel: n = 10, T = 20, N = 200

Effects:
                 var std.dev share
idiosyncratic 9623.4    98.1     1
time             0.0     0.0     0
theta: 0

Residuals:
     Min.   1st Qu.    Median   3rd Qu.      Max. 
-291.6757  -30.0137    5.3033   34.8293  369.4464 

Coefficients:
               Estimate  Std. Error z-value  Pr(>|z|)    
(Intercept) -42.7143694   9.5116760 -4.4907 7.098e-06 ***
F             0.1155622   0.0058357 19.8026 < 2.2e-16 ***
C             0.2306785   0.0254758  9.0548 < 2.2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Total Sum of Squares:    9359900
Residual Sum of Squares: 1755900
R-Squared:      0.81241
Adj. R-Squared: 0.8105
Chisq: 853.151 on 2 DF, p-value: < 2.22e-16

下一期预告:如何做检验,来确定该使用哪一种模型。

更多推荐

R语言 面板数据分析 plm包实现(二)——随机效应模型