在R中使用`data()`表示时间序列对象

时间:2017-06-24 13:35:50

标签: r

如果已经问过这个问题我很抱歉(我还没有找到它)。我的印象是我可以使用data()从数据集包中访问R中的数据集。但是,这对时间序列对象不起作用。还有其他例子,情况并非如此吗? (为什么?)

data("ldeaths")  # no dice
ts("ldeaths")    # works

(但是,这适用于data("austres"),它也是一个时间序列对象)。

1 个答案:

答案 0 :(得分:1)

data函数用于加载包数据集及其所有属性,时间序列或其他。

我认为您遇到的问题是ldeaths包中没有名为datasets的独立数据集。 ldeaths确实存在UKLungDeaths数据集中的3个数据集中的1个。其他两个是fdeathsmdeaths

以下内容应该延迟加载所有数据集。

data(UKLungDeaths)

然后,在控制台中键入ldeaths或在某个函数中将其用作参数将加载它。

str(ldeaths)

虽然包作者在1个数据集中包含多个对象并不常见,但确实会发生这种情况。 data功能文档中的这一行提供了一个“抬头”的标题。关于这个:

"对于每个给定的数据集,前两种类型('.R'或'.r'和'.RData'或'.rda'文件)可以在加载环境中创建多个变量,可能都与数据集"

的命名方式不同

这就是这种情况,因为虽然数据集中包含三个时间序列对象,但其中没有一个被命名为UKLungDeaths

当包作者使用save函数将多个R对象写入外部文件时,会发生此选择。在野外,我已经看到人们使用save函数将描述文件与数据集捆绑在一起,尽管这不是在完整的包中记录内容的正确方法。如果您真的很好奇,请阅读save函数上的文档。

贾斯汀