パネル データがあり、spml を適用する必要がありますが、同じ間違いが何度も発生し、試行しても克服できません。
基本的に、私は 36 ユニットと 261 日間の観測のバランスのとれたパネルを持っています。6列のdata.frame(aaaという名前)を作成しました
銀行、日付、CDS、X1、X2、X3
および9396行 (列ラベルを考慮すると 9397 行)。
ここで: * Units と Date はインデックスです * CDS は従属変数です * X1、X2、X3 は独立変数です。
- バンクは36 レベルのファクターです。
- 日付は整数ベクトルint [1:9396] です。
- CDS、X1、X2、および X3 はすべて数値ベクトルnum [1:9396] です。
また、クラス「matrix」と構造体 num [1:9396, 1:9396] の listw オブジェクト (名前は W2) も作成しました。
次のコードを使用してクロネッカーを初期行列 W に適用することで、listw オブジェクトを取得しました。
(Kronecker (diag(261), W)
そして、「式」を次のように表現しました。
fm <- (Cds) ~ (X1) + (X2) + (X3)
その後、splm を適用します。
spmltest<-spml(fm, data = aaa, index = c("Bank","Date"), listw = w2)
エラーは次のとおりです。
lag.listw(listw, u, zero.policy = zero.policy) のエラー: オブジェクトの長さが異なります。
確認しようとしましたが、実際にはオブジェクトの長さが異なるわけではないようです。
私が間違っている場所はありますか?どんな助けや提案も大歓迎です。ありがとうございました。
(追伸:モデル(固定またはランダムの場合)も指定する必要があることはわかっていますが、これでこの特定の問題が解決するとは思いません。間違っている場合はお知らせください)
(追伸: 誰かが既に同じ問題について質問し、次のように解決したこともわかりました。「パッケージ "splm" の作成者は、パネル ID の設定方法に誤りがあることを指摘しました。空間単位は、遅く (1,1,1,.....; 2,2,2...;....;77,77,77,....)、時間 ID はより速くする必要があります (1,2 ,3,....,31;....; 1,2,3...31) の 2 つです。それに応じてデータを設定した後、結果を得ることができました」. それが何であるかを理解することはできませんデータを時間ではなく空間単位でソートする必要があることを意味する場合、私のデータはすでにこの方法でソートされています)。