2017-01-12 71 views
2

これは尋ねられましたが、このトピックで少なくとも10スレッドを見ましたが、まだ理解できません。私はいくつかのパネルデータでランダム効果モデルを推定するためにplmパッケージを使用しています。私は指定したモデルを持っていますが、NAを含まない変数を追加すると、次のエラーメッセージが表示されます。エラー:0(非NA)ケースplmパッケージ

lm.fitでのエラー(X、Y、オフセット=オフセット、singular.ok = singular.ok、...): 0(非NA)例

私は限りそれを切り詰めていますできるだけ以下のようにしてください。

plm(dependent ~ varA + varB + varC + varD, data=mydata, 
model="random", index=c("Name", "Month"), na.action=na.exclude) 

モデルが正しく動作します。 VarAの代わりに、私が自由に使うことができる他の変数を挿入することができます。

私のデータはhereです。

私はna.omit(mydata)を使用しようとしましたが、これは動作することがありますが、信頼性は高くありません。

洞察力があれば幸いです。

答えて

1

これはあなたのデータの仕様とモデルに起こり、これは、これではなく、統計的質問:

Swamy-アローラ(random.method = "swarm")のデフォルトのランダム効果の方法で使用される間の回帰が見積可能ではありませんこのモデル(4人の共変量とインターセプトを推定しようとすると同時に4人(データ内にはName)があります)、このモデルはデフォルトのRE推定子では推定できません。別のランダムエフェクトメソッドを試すことができます。 random.methodamemiyaまたはwalhusに設定します。

plm(dependent ~ varA + varB + varC + varD, data=mydata, 
    model="random", index=c("Name", "Month"), random.method = "amemiya") 

(はい、PLMのエラーメッセージがここに改善することができる。)

+0

私は分かりません。見積もり者が完璧なフィット感を生み出すならば、それは有効な退行者ではないでしょうか?そして、他の方法がうまくいかない場合は?エラーメッセージは役に立たないと思いますが、どうやってこれを判断できましたか?また、あなたの言い回しをきれいにすることはできますか? 「回帰の間」とは何ですか? – Xander

1

これは今では古い記事ですが、それはライン上に掲載、この特定の問題への参照のみです。私はちょうどplmパッケージとplm関数を使ってこの問題を抱えていました。私はこの場合、エラーメッセージが誤解を招くものであることを理解しました。私のケースではcomplete case(function complete.cases()を参照)の数は0ではなかったので、なぜplm関数が私にこのエラーメッセージを与えているのか理解できませんでした。

私のデータを掘り下げた後、問題は実際には値-InfまたはInfを持つデータのエントリの存在であることが分かりました。私は単純にそれらのエントリをNA(皮肉!)で置き換え、plm関数はスムーズに実行されました。同一の回帰式ためLM機能を使用して、実際に私は、この実際のエラーメッセージを与えること

lm.fitで「エラー(X、Y、オフセット=オフセット、singular.ok = singular.ok、 ...): NA/NaN/Inf in 'y' "

これは実際に何が起こっているのかを明らかに示しています。

お礼

+0

共有いただきありがとうございます。私のデータからわかるように、( - )Infケースはありません。うまくいけば、これがそうである場合、これは他の人に役立つかもしれません。 – Xander

関連する問題