2013-04-11 4 views
8

패널 데이터 모델을 설정하는 데 문제가 있습니다.R : plm - 년 고정 효과 - 년 및 분기 데이터

reg1 <- plm(y ~ x, data=data,index=c("id", "year"), model="within",effect="time") 

불행하게도, 내가 얻을 : 나는 시간 인덱스와 같은 개별 지표로 'ID'와 '해'를 사용하여 다음과 같은 회귀 분석을 실행

library(plm) 

id <- c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2) 
year <- c(1999,1999,1999,1999,2000,2000,2000,2000,1999,1999,1999,1999,2000,2000,2000,2000) 
qtr <- c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4) 
y <- rnorm(16, mean=0, sd=1) 
x <- rnorm(16, mean=0, sd=1) 

data <- data.frame(id=id,year=year,qtr=qtr,y_q=paste(year,qtr,sep="_"),y=y,x=x) 

: 여기

몇 가지 샘플 데이터입니다 다음과 같은 오류 :

duplicate couples (time-id) Error in pdim.default(index[[1]], index[[2]]) :

그래서 나는 이것을 해결하기 위해 'y_ Q '

reg1 <- plm(y ~ x, data=data,index=c("id", "y_q"), model="within",effect="time") 

그러나 여기가 내 문제입니다 - 난 단지 년 고정 효과와하지 년 분기를 갖고 싶어.

tiem 인덱스 'y_q'를 만드는 대신 이전 문제를 해결할 다른 방법이 있습니까?

도움을 주셔서 미리 감사드립니다.

+0

도 https://stackoverflow.com/questions/28789767/how-to-include-a-year-fixed-effect-in-a-year 참조 : 여기

는 것을 할 한방향입니다 -quarter-panel-data-in-r-using-plm – Helix123

답변

3

패널 설정에서 일반적으로 각 커플에 대해 중복되는 값이 없습니다.

4 년 단위 데이터에서 연간 고정 효과 모델을 계산하지 않아도 데이터를 집계하지 않고 매년 계산할 수 있습니다.

예제 here을 확인하여 데이터를 패널 데이터 모델링에 맞게 포맷하는 방법을 확인하십시오.

require(plyr) 
yeardata <- ddply(data, .(year, id), summarize, y = mean(y), 
               x = mean(x)) 


require(plm) 
reg1 <- plm(y ~ x, data = yeardata, index = c("id", "year"), model = "within", effect = "time") 
fixef(reg1) 

##  1999  2000 
## 0.2641997 0.0041193