2
は(変換)は私のXTSからクラス "XTS" 修飾子を削除するオブジェクト:R:transform()を呼び出した後、xtsオブジェクトがzooオブジェクトになるのはなぜですか?
> class(myxts)
[1] "xts" "zoo"
> myxts = transform(myxts, ABC = 1)
> class(myxts)
[1] "zoo"
それはなぜですか?
は(変換)は私のXTSからクラス "XTS" 修飾子を削除するオブジェクト:R:transform()を呼び出した後、xtsオブジェクトがzooオブジェクトになるのはなぜですか?
> class(myxts)
[1] "xts" "zoo"
> myxts = transform(myxts, ABC = 1)
> class(myxts)
[1] "zoo"
それはなぜですか?
transform
にはxtsメソッドがないため、zooメソッドが送出されます。 zooメソッドは明示的に新しいzooオブジェクトを作成します。
> zoo:::transform.zoo
function (`_data`, ...)
{
if (is.null(dim(coredata(`_data`))))
warning("transform() is only useful for matrix-based zoo series")
zoo(transform.data.frame(data.frame(coredata(`_data`)), ...),
index(`_data`), attr(`_data`, "frequency"))
}
<environment: namespace:zoo>
あなたは、単にas.xts
であなたのtransform
呼び出しをラップすることができ、またはあなたの例ではmyxts$ABC <- 1
のように書くことができます。
myxts = as.xts(transform(myxts、...))を試しましたが、myxtsに日付インデックスでアクセスしようとするとこのエラーが発生します: "関数のエラー(年= 1970、月= 1 (tz1 = ""、tz2 = "EST"、tz3 = "EDT") " –
@RobertKubrick:私が推測することはほとんど不可能です。そのエラーの原因は何ですか?再現可能な例が本当に助けになります。 –
私はこれを別の質問として投稿します。 –