面板数据:用plm处理滞后和二元因变量

时间:2010-07-28 15:19:32

标签: r panel plm

我试图使用面板数据和二进制因变量运行汇总逻辑回归。由于我想要滞后一些变量,我使用plm包来创建它们。当我试图以其他方式做到这一点时,我遇到了问题。我不能使用滞后或嵌入,因为它是面板数据。

hybridsubsidies <-pdata.frame(reduced, c("state","year"))

lagee<-(lag(hybridsubsidies$eespending,1))
lagratio<-(lag(hybridsubsidies$ratio, 1))
laggopvote<-(lag(hybridsubsidies$gopvote, 1))
laggasoline<-(lag(hybridsubsidies$gasoline, 1))

我想在运行汇总分析之前将所有变量放入原始数据框(hybridsubsidies)。我很确定我不需要,但我是一个视觉人,并希望在运行任何分析之前验证数据的格式是否合适。

从下面的输出看,一切都正确完成。

  

头(滞后(hybridsubsidies $ eespending,1))

     

ALABAMA-1999 ALABAMA-2000 ALABAMA-2001 ALABAMA-2002 ALABAMA-2003 ALABAMA-2004

     NA        58294        55378        26982        28264         2566 
     

头(hybridsubsidies $ eespending)

     

ALABAMA-1999 ALABAMA-2000 ALABAMA-2001 ALABAMA-2002 ALABAMA-2003 ALABAMA-2004

  58294        55378        26982        28264         2566        26906 

我的问题是,当我尝试将此滞后变量指定为数据框中的向量时,这样,

hybridsubsidies$lagee<-(lag(hybridsubsidies$eespending,1))

它这样做(当我调用数据帧中的名称时,它们被包括在内),但是我再也看不到数据帧了。 R对我说:

  

edit.data.frame(get(subx,envir = parent),title = subx,...)出错:    只能处理向量和因子元素

如何解决这个问题,以便在运行分析之前查看数据框?我想看看它,因为看起来我将不得不使用glm而不是plm(汇集)进行此分析,因为因变量是二进制变量而plm不支持这些d.v.的

这一直给我带来了一段时间的问题。

  

col1 ST YR EELAG EE

     

[1,] 1 1 NA 58294

     

[2,] 1 2 58294 55378

     

[3,] 1 3 55378 26982

     

[4,] 1 4 26982 28264

     

[5,] 1 5 28264 2566

     

[6,] 1 6 2566 26906

     

[7,] 1 7 26906 29466

     

[8,] 2 1 NA 355

     

[9,] 2 2 355 259

     

[10,] 2 3 259 224

     

[11,] 2 4 224 217

     

[12,] 2 5 217 241

     

[13,] 2 6 241 231

     

[14,] 2 7 231 231

     

[15,] 3 1 NA 5111

     

[16,] 3 2 5111 3753

     

[17,] 3 3 3753 2211

     

[18,] 3 4 2211 1452

     

[19,] 3 5 1452 2913

     

[20,] 3 6 2913 3128

     

[21,] 3 7 3128 7132

     

[22,] 4 1 NA 1597

     

[23,] 4 2 1597 905

1 个答案:

答案 0 :(得分:0)

lag返回一个时间序列对象。

hybridsubsidies$lagee<-(as.vector(lag(hybridsubsidies$eespending,1)))

工作?