[R] R: plm issues: error for "within" or "random", but not for "pooling"

Millo Giovanni Giovanni_Millo at Generali.com
Thu Feb 4 15:10:30 CET 2010


Dear Liviu,

it's difficult to tell without seeing the data. I might guess that you have some completely empty groups about which Tapply complains when doing the time-demeaning, but it would be just a guess.

I realize you can't share the data in the present form, but may I suggest you try and subset your data in some random way, find a "problematic" subset (one which gives the error) then change labels and everything so that the data become unrecognizable, and send us that example? You can also randomly transform them, as this is likely to be a missing values issue.

Giovanni

-----Messaggio originale-----
Da: Liviu Andronic [mailto:landronimirc at gmail.com] 
Inviato: giovedì 4 febbraio 2010 12:32
A: r-help at r-project.org Help
Cc: yves.croissant at let.ish-lyon.cnrs.fr; Millo Giovanni
Oggetto: plm issues: error for "within" or "random", but not for "pooling"

Dear all
I am working on unbalanced panel data and I can readily fit a "pooling" model using plm(), but not a "within" or "random" model.
Reproducing the examples in vignette("plm") and in the AER package I encountered no such issues.

##unfortunately I cannot disclose the data, and it is too big anyway
> dim(ibes.kld.exp.p[x.subs , ])
[1] 13189    34
> summary(ibes.kld.exp.p[x.subs , ]$ibes1y.meanest)
total sum of squares : 28058
      id     time
0.752284 0.018656
> summary(ibes.kld.exp.p[x.subs , ]$employee_kld)
total sum of squares : 9146.5
      id     time
0.637098 0.073421

##fitting a pooling model works OK
> x <- plm(ibes1y.meanest ~ employee_kld, ibes.kld.exp.p[x.subs , ], 
> model="pooling")
> summary(x)
Oneway (individual) effect Pooling Model

Call:
plm(formula = ibes1y.meanest ~ employee_kld, data = ibes.kld.exp.p[x.subs,
    ], model = "pooling")

Unbalanced Panel: n=3041, T=1-16, N=13189

Residuals :
   Min. 1st Qu.  Median 3rd Qu.    Max.
 -6.530  -0.871  -0.189   0.629  13.200

Coefficients :
             Estimate Std. Error t-value Pr(>|t|)
(Intercept)    1.5607     0.0127  122.73  < 2e-16 ***
employee_kld   0.1118     0.0152    7.35  2.2e-13 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Total Sum of Squares:    28100
Residual Sum of Squares: 27900
F-statistic: 53.954 on 1 and 13187 DF, p-value: 2.17e-13
> plmtest(x, "individual")

	Lagrange Multiplier Test - (Honda)

data:  ibes1y.meanest ~ employee_kld
normal = 1675.7, p-value < 2.2e-16
alternative hypothesis: significant effects


##fitting a within or random model fails
> x <- plm(ibes1y.meanest ~ employee_kld, ibes.kld.exp.p[x.subs , ], 
> model="within")
Error in Tapply.matrix(x, effect, mean, ...) : subscript out of bounds
> x <- plm(ibes1y.meanest ~ employee_kld, ibes.kld.exp.p[x.subs , ], 
> model="random")
Error in Tapply.matrix(x, effect, mean, ...) : subscript out of bounds


Would this be an issue with my data (which is a bit specific, since employee_kld is categorical)? Or perhaps there is an issue in plm() for unbalanced data?

Please let me know your opinion
Liviu


> sessionInfo()
R version 2.10.1 (2009-12-14)
x86_64-pc-linux-gnu

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8
 [5] LC_MONETARY=C              LC_MESSAGES=en_GB.UTF-8
 [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C

attached base packages:
 [1] tcltk     grid      splines   stats     graphics  grDevices utils
 [8] datasets  methods   base

other attached packages:
 [1] RcmdrPlugin.sos_0.2-0    tcltk2_1.1-1             RcmdrPlugin.Export_0.3-0
 [4] Hmisc_3.7-0              xtable_1.5-6             Rcmdr_1.5-5
 [7] car_1.2-16               ggplot2_0.8.5            digest_0.4.2
[10] reshape_0.8.3            plyr_0.1.9               proto_0.3-8
[13] plm_1.2-3                sandwich_2.2-5           zoo_1.6-2
[16] MASS_7.3-5               Formula_0.2-0            kinship_1.1.0-23
[19] lattice_0.18-3           nlme_3.1-96              survival_2.35-8
[22] fortunes_1.3-7           sos_1.2-4                brew_1.0-3
[25] hints_1.0.1-1

loaded via a namespace (and not attached):
[1] cluster_1.12.1 tools_2.10.1



--
Do you know how to read?
http://www.alienetworks.com/srtest.cfm
http://goodies.xfce.org/projects/applications/xfce4-dict#speed-reader
Do you know how to write?
http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail

Giovanni Millo
Research Dept.,
Assicurazioni Generali SpA
Via Machiavelli 4, 
34132 Trieste (Italy)
tel. +39 040 671184 
fax  +39 040 671160 



More information about the R-help mailing list