R中的zoo对象和ts对象有什么区别?

use*_*340 6 r time-series zoo

我想知道使用ts()zoo()功能的差异.

42-*_*42- 12

zoo对象在索引属性中显示时间值(可能是不规则的),如控制台上的行名称,print.zoo以及矩阵或原子向量中的值,这些值对可以使用的值进行约束(通常是数字,但是必须所有的单一模式,即不像具有多种模式的列表,如数据帧可能保持).加载pkg:zoo后,获取具有zoo-methods的函数列表:

library(zoo)
methods(class="zoo")
Run Code Online (Sandbox Code Playgroud)

yrmon-类添加到允许每月日期索引.你可以看到方法的范围:

methods(class="yearmon")
Run Code Online (Sandbox Code Playgroud)

所述xts-class是一个重要延伸到动物园的方法,但需要一个额外的包.在SO上有许多关于zoo和xts函数的工作示例.

对象ts具有单一模式的值,其具有始终意味着定期观察的属性,并且这些属性支持诸如年和月的循环周期.不是逐项或逐行存储索引项,而是使用存储为属性的"开始","结束"和"频率"值即时计算索引,并通过这些名称访问函数.ts对象的函数列表非常小(并且大多数人发现它们更难以使用):

methods(class="ts")
Run Code Online (Sandbox Code Playgroud)

还有一个its不规则时间序列的包装,但它明显不如动物园包装受欢迎,显然已被遗弃.

  • 这个答案差不多有两年了,但是这里有一些最新的修正:ts和zoo对象不一定是数字,例如`ts(字母); z < - zoo(letters)`,动物园对象可以垂直或水平打印,例如`print(z,style ="v"); print(z,style ="h")`和动物园对象的数据部分可以是一个向量或矩阵,而不仅仅是一个矩阵,例如`zoo(anscombe); read.zoo(BOD)`它的包已于去年12月(2016年12月)从CRAN中删除. (2认同)