I have a dataframe ('math') like this (there are three different methods, although only one is shown) - dataframe
I am trying to create a multi-level growth model for MathScore, where VerbalScore is an independent, time invariant, random effect.
I believe the R code should be similar to this -
random <- plm(MathScore ~ VerbalScore + Method, data=math, index=c("id","Semester"),
model="random")
However, running this code results in the following error:
Error in plm.fit(object, data, model = "within", effect = effect) :
empty model
I believe it's an issue with the index, as the code will run if I use:
random <- plm(MathScore ~ VerbalScore + Method + Semester, data=math, index="id",
model="random")
I would be grateful for any advice on how to create a multi-level, random effect model as described.
plm is a package for R which intends to make the estimation of linear panel models straightforward. plm provides functions to estimate a wide variety of models and to make (robust) inference. Details For a gentle and comprehensive introduction to the package, please see the package's vignette.
Product Lifecycle Management (PLM) is an integrated business approach to the collaborative creation, management and dissemination of engineering information throughout the extended enterprise.
The index argument indicates the dimensions of the panel. It can be: a vector of two character strings which contains the names of the individual and of the time indexes, a character string which is the name of the individual index variable.
This is likely a problem with your data:
As it seems, the variables VerbalScore
and Method
do not vary per individual. Thus, for the Swamy-Arora RE model (default) the within variance necessary cannot be computed. Affected variables drop out of the model which are here all RHS variables and you get the (not very specific) error message empty model
.
You can check variation per individual with the command pvar()
.
If my assumption is true and still you want to estimate a random effects model, you will have to use a different random effect estimator which does not rely on the within variance, e.g. try the Wallace-Hussain estimator (random.method="walhus"
).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With