我认为是将xts对象转换为原始类,但是在将xts对象传递给它之后,它没有给我原始对象。这是为了什么?
我的尝试
data(sample_matrix)
class(sample_matrix)
#"matrix"
class(reclass(as.xts(sample_matrix)))
#"xts" "zoo"
答案 0 :(得分:2)
对reclass
的调用会将对象返回到其原始类,所有原始属性都保持不变 - 除非另有更改。
来自文档:
Reclass专为顶层使用而设计 从同一个类中的任意函数返回的对象 传入的对象.R中的大多数函数都不是为了设计的 返回与原始对象的类匹配的对象。虽然这个工具 它目前是高度实验性的,它试图处理转换 并透明地重新转换。警告是原始的 对象必须对xts具有强制性,返回的对象必须是 与原始对象相同的行长度,以及该对象的行长度 reconvert to是被包装函数的第一个参数。
答案 1 :(得分:2)
来自文档
try.xts 和重新分类是支持外部开发人员的功能 访问xts中的重新分类工具,以帮助加快开发速度 时间感知功能,以及提供更强大和无缝 最终用户体验,无论最终用户的选择如何 数据类。
如果您使用try.xts
将xtsible
对象转换为xts
个对象,则reclass
或Reclass
两者都应该能够将其转换回它&# 39;原始类,所有属性都完好无损。
class(Reclass(try.xts(sample_matrix)))
## [1] "matrix"
class(reclass(try.xts(sample_matrix)))
## [1] "matrix"