在R中的plm包 - 当仅包含个体时间内变化为零的变量时,空模型。

7

我有一个名为“math”的数据框,它长这样(虽然只展示了一种方法,但实际上有三种不同的方法)- 数据框

我正试图创建一个数学成绩的多层增长模型,其中语文成绩是一个独立的、时间不变的随机效应。

我认为 R 代码应该类似于这个 -

random <- plm(MathScore ~ VerbalScore + Method, data=math, index=c("id","Semester"), 
              model="random")

然而,运行这段代码会导致以下错误:

Error in plm.fit(object, data, model = "within", effect = effect) :
empty model

我认为这是索引的问题,因为如果我使用以下代码,则可以正常运行:

random <- plm(MathScore ~ VerbalScore + Method + Semester, data=math, index="id", 
              model="random")

我希望你能给出任何关于如何创建多层随机效应模型的建议,就像所描述的那样。


1
请查看此链接以了解如何创建可重现的示例:https://dev59.com/eG025IYBdhLWcg3whGSx - www
首先尝试创建一个 pdata.frame,然后将其用作 data 参数。有关如何执行此操作,请参阅该软件包的使用说明。 - Helix123
1个回答

8
这很可能是您数据的问题: 看起来,变量VerbalScoreMethod在每个个体中都没有变化。因此,对于Swamy-Arora RE模型(默认值),必须计算必要的内方差才能进行建模。受影响的变量将从模型中删除,这里所有的RHS变量都将出现错误消息empty model(不是非常具体)。
您可以使用命令pvar()检查每个人的变异。
如果我的假设是正确的,而您仍然想估计一个随机效应模型,您将不得不使用不依赖于内部方差的不同随机效应估计方法,例如尝试Wallace-Hussain估计器(random.method="walhus")。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接