R 中的 plm 包 - 空模型,当只包含每个人不随时间变化的变量时

Eri*_*ric 5 r plm

我有一个这样的数据框('数学')(有三种不同的方法,虽然只显示了一种) - 数据框

我正在尝试为 MathScore 创建一个多级增长模型,其中 VerbalScore 是一个独立的、时间不变的随机效应。

我相信 R 代码应该与此类似 -

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

但是,运行此代码会导致以下错误:

plm.fit(object, data, model = "within", effect = effect) 中的错误:
空模型

我相信这是索引的问题,因为如果我使用以下代码将运行:

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

对于如何创建所描述的多级随机效应模型的任何建议,我将不胜感激。

Hel*_*123 5

这可能是您的数据存在问题:看起来,变量 VerbalScoreMethod不会因人而异。因此,对于 Swamy-Arora RE 模型(默认),无法计算所需的内方差。受影响的变量从模型中退出,这里是所有 RHS 变量,您会收到(不是很具体的)错误消息empty model

您可以使用命令检查每个人的变化pvar()

如果我的假设是正确的并且您仍然想估计随机效应模型,则必须使用不同的随机效应估计量,它不依赖于内部方差,例如尝试使用 Wallace-Hussain 估计量 ( random.method="walhus")。