私の質問の意味がよくわかりません。しかし、時系列データを使って計量経済モデルを修正することを考えています。多重回帰です。独立変数の 1 つは 5 年国債利回りです。この変数は 2 つの期間に分割されます。1 つの変数は 1950 年から 1986 年までの 5 年国債利率です。1986 年以降、この変数は 0 の値を取ります。2 つ目の変数は 1986 年から現在までの 5 年国庫利率です。1986 年以前は、この 2 番目の変数の値は 0 でした。誰かが、0 の値を空白に置き換えることを提案しました (欠損データに相当)。示唆されているように、これらの変数の意味はおそらくより適切に指定されているためです。サブセット()関数でそれを行うことができますか?つまり、データの行全体を実際に削除または無視することなく、これらの変数から 0 の値を実際に削除または無視できますか? 他の独立変数からすべての値を削除します。このコーディングの質問は、このプロセスが理にかなっているかどうかにかかっていることを私は知っています。かどうかはわかりません。Cross Validated による理論的な質問に合格しました。しかし、答えが得られるかどうかはわかりません。ここでコーディングの質問をすることにしました。
1368 次
1 に答える
2
データがデータ フレームにあると仮定すると、答えは「いいえ」です。subset
の一部のみには使用できませんdata.frame
。これsubset
は、データ フレームでは別のデータ フレームが返され、データ フレームではすべての変数が同じ長さでなければならないためです。
この制限を回避する方法はたくさんありますが、lm
. 回帰がどのように機能するかを考えてみてください。すべての観測は完全に観測されなければなりません。データが欠落している場合、次の 3 つのオプションがあります。
- データが欠落している観測を削除します。これはリストごとの削除と呼ばれ、デフォルトです
lm
(関数によって、na.omit
関数の内部に埋め込まれmodel.matrix
ます。これは内部にありますlm
) 。 - 欠損データを補完します。これは大規模な分野であり、活発な研究が行われている分野です
- 欠落データを統合できるベイジアン モデルなど、他の方法を使用する
Cross Validated からこの分野のヘルプを得ることができるはずです。しかし、データ フレーム内のすべての変数は同じ長さでなければならないため、不等長の変数を使用する方法はなく、不等長の変数を含むデータ フレームを返すlm
方法がないという事実は残ります。subset
于 2015-09-13T00:43:52.070 に答える