【发布时间】:2012-02-17 16:35:00
【问题描述】:
transform() 从我的 xts 对象中删除类“xts”限定符:
> class(myxts)
[1] "xts" "zoo"
> myxts = transform(myxts, ABC = 1)
> class(myxts)
[1] "zoo"
为什么会这样?
【问题讨论】:
transform() 从我的 xts 对象中删除类“xts”限定符:
> 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>
您可以简单地将您的transform 调用包装在as.xts 中,或者您的示例可以写成myxts$ABC <- 1。
【讨论】: