0

私は、他の人plmと同じ問題を使用して、個人固有の時間傾向を使用して固定効果パネルを推定しようとしています。リンクされたCrossValidatedの質問で説明されている回避策を使用したいのですが、必要なデータフレーム列を生成する方法がわかりません。

つまり、私は次の形式のデータフレームを持っています

data.frame(date=rep(1:5,times=3),id=rep(1:3,each=5))

idそして、このデータフレームに、という名前の各列を追加したいと思います。ここでは、すべての観測date_idX値と同じ値を持ち、それ以外の場合はゼロになります。dateid==X

もちろん、私の問題に対するよりエレガントな解決策もありがたいです。

4

1 に答える 1

1
> dfrm <- data.frame(date=rep(1:5,times=3),id=rep(1:3,each=5))
> 
> X <-3;  dfrm$time_idX <- dfrm$date*(dfrm$id==X)
> dfrm
   date id time_idX
1     1  1        0
2     2  1        0
3     3  1        0
4     4  1        0
5     5  1        0
6     1  2        0
7     2  2        0
8     3  2        0
9     4  2        0
10    5  2        0
11    1  3        1
12    2  3        2
13    3  3        3
14    4  3        4
15    5  3        5

あなたが本当に望んでいたのは、回帰式でこれを行うことだったと思います。そのためにはI()関数が必要です。これは擬似コードです:

  regfun( form = yield ~ I(date*(id==X) ), data=dfrm)

これがplmの使用の問題に対する適切な解決策になることを保証するものではありませんが、通常の回帰で機能するはずの方法です。適切なテストケースを含めるように質問を編集する必要があります。

于 2012-06-07T17:09:41.800 に答える