0

パネル データがあり、spml を適用する必要がありますが、同じ間違いが何度も発生し、試行しても克服できません。

基本的に、私は 36 ユニットと 261 日間の観測のバランスのとれたパネルを持っています。6列のdata.frameaaaという名前)を作成しました

銀行、日付、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 つです。それに応じてデータを設定した後、結果を得ることができました」. それが何であるかを理解することはできませんデータを時間ではなく空間単位でソートする必要があることを意味する場合、私のデータはすでにこの方法でソートされています)。

4

3 に答える 3