plm()양식의 고정 효과 모델을 추정 하는 데 사용 하고 있습니다.
y ~ x + time + time:fixed_trait
여기서 fixed_trait개인마다 다양하지만 개인 내에서는 일정한 변수가 있습니다.
상호 작용의 점 time으로는 fixed_trait효과 허용하는 것입니다 fixed_trait시간에 걸쳐 변화 할 수 있습니다. (저는 고정 효과에 관한 Paul Allison의 최근 소책자에서 일하고 있습니다. 인용이 추가되었습니다.)
plm()이러한 모델의 계수 및 표준 오류를 추정하는 데 문제가 없습니다. 그러나이 summary.plm()모델들에 대해서는 R ^ 2를 계산할 수 없습니다. 이것이 내가 고치고 싶은 문제입니다.
다음은 최소한의 예입니다.
library(plm)
tmp <- data.frame(ID=rep(1:3, 2), year=rep(0:1, each=3),
y=rnorm(6), const=rep(1:3, 2))
fe1 <- plm(y ~ year, index=c('ID', 'year'), data=tmp)
fe2 <- plm(y ~ year + year:const, index=c('ID', 'year'), data=tmp)
summary(fe1) # works fine
summary(fe2) # Error in crossprod(t(X), beta) : non-conformable arguments
조사 plm:::summary.plm하면 문제가 더 명확 해집니다. R ^ 2를 계산하려면 다음 plm을 수행하십시오.
beta <- coef(fe2)
X <- model.matrix(fe2)
crossprod(t(X), beta)
에 beta대한 견적 만 포함 year1하고 year0:const에 X대한 열도 포함 하기 때문에 작동하지 않습니다 year1:const. 다시 말해, 및에 X대한 열을 모두 포함하므로 두 계수를 모두 추정 할 수 없습니다.year0:constyear1:const
해결 방법은 수식에 입력하기 전에 "손으로"상호 작용 용어를 만드는 것입니다.
tmp$yearXconst <- tmp$year*tmp$const
fe3 <- plm(y ~ year + yearXconst, index=c('ID', 'year'), data=tmp)
summary(fe3) # works fine
그러나 이것은 성가신 일입니다. 이것의 부족으로, summary.plm그러한 모델로 작업 하기 위해 할 수있는 일이 있습니까?
===
Allison, Paul D. 2009. 고정 효과 회귀 모델. 로스 앤젤레스, 캘리포니아 : 세이지. 특히 19-21 페이지를 참조하십시오.
plm버전 1.6-4 부터는 증가 된 계수가 단순히 삭제되므로 더 이상 문제가되지 않습니다.