首页 > 解决方案 > 为什么航空旅客数据集的暗淡在 R 中为空?

问题描述

我不知道为什么会这样,但是 R 中 Airpassengers 数据集的暗淡结果是空的。

data("AirPassengers")
dim(AirPassengers)
#NULL

我将数据集导入到 CSV 文件中,结果与我们在 R 中看到的完全不同。它甚至缺少年份和月份级别的详细信息。我的理解差距在哪里?

标签: r

解决方案


我假设您正在谈论包中的AirPassengers对象datasets( datasets::AirPassengers)。

此对象不是 data.frame 或矩阵。它是一个ts对象。您可以查看?ts帮助页面以获取更多信息。由于这种类型的对象不会将其数据存储在 2D 矩阵中,因此它不会响应通用dim()函数。如果您想知道有多少观察值,您可以使用length()

length(AirPassengers)
# [1] 144

或者您可以通过以下方式获取有关开始期间、结束期间和期间频率的基本信息

tsp(AirPassengers)
# [1] 1949.000 1960.917   12.000

您可以提取frequency()每个时期的观察结果,这将为您提供“列”的数量

frequency(AirPassengers)
# [1] 12

dim()因此,如果您愿意,可以为 ts 对象编写自己的。

dim.ts <- function(x) {
   c(length(x)/frequency(x), frequency(x))
}
dim(AirPassengers)
# [1] 12 12

虽然这有点误导,因为您不能使用矩阵索引从ts对象中提取值。


推荐阅读