XTSがデータフレームではなくマトリックスとして実装されるのはなぜですか?
質問
XTSフィールドの表現に関する情報を見つけました これ スレッドですが、XTSがインデックス +マトリックスである理由はまだ明確ではありません。インデックス +データフレームではないのはなぜですか?要因や数値列を操作するとき、それはより柔軟性を可能にしませんか?
XTSにデータをロードすると、ほとんどの作業は、フルセットまたは時系列のサブセットで数値操作を実行することで構成されています。このため、インデックス作成は非常にうまく機能しますが、私はのように電話をかけることを余儀なくされています data.frame(data.matrix(myxts))
因子と数値列を抽出できるようにします。
さらに、マトリックスのインデックス作成よりも$表記を使用する方が便利だと思いますが、これは本当に別の質問です。例えば:
lm(myxts$Res ~ myxts$ThisVar + myxts$ThatVar)
書く方が簡単です
lm(myxts[, "Res"] ~ myxts[, "ThisVar"] + myxts[, "ThatVar"]).
解決
XTSは、data.frameではなくマトリックスを使用します。
- 動物園のサブクラスであり、それが動物園のオブジェクトの構造であり、
- マトリックスオブジェクトは、data.framesよりもはるかに優れたパフォーマンスを持っています。
2番目の質問は、を使用して解決できます data=
への議論 lm
または、より一般的には、使用して with
:
with(myxts, lm(Res ~ ThisVar + ThatVar))
所属していません StackOverflow