plm包装在R - 空模型中,仅包含每个人

时间:2017-07-15 19:07:32

标签: r plm

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

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

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

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

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

  

plm.fit中的错误(对象,数据,模型=&#34;在#34;内,效果=效果):
  空模型

我认为这是索引的问题,因为如果我使用代码将会运行:

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

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

1 个答案:

答案 0 :(得分:2)

这可能是您的数据存在问题: 看起来,变量VerbalScoreMethod不会因人而异。因此,对于Swamy-Arora RE模型(默认),不能计算必要的内部方差。受影响的变量从模型中删除,这里是所有RHS变量,并且您得到(不是非常具体的)错误消息empty model

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

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