从数据帧转换为时间序列 (ts) 后无法理解 strptime 的结果格式

Having trouble understanding the resulting format of strptime after converting from dataframe to time series (ts)

当我在数据框中使用 strptime 函数时,日期格式看起来是正确的。然而,当我随后转换为 ts(时间序列)以便我可以使用像预测这样的函数时,数据列看起来像乱码,而且通常很难看出它是否正确。考虑以下代码....

qtr <- c("03/01/2000","06/01/2000","09/01/2000","12/01/2000","03/01/2001","06/01/2001","09/01/2001","12/01/2001")
qtr <- strptime(as.character(qtr), format = "%m/%d/%Y",tz="EST")
dem <- c(1342,1382,1296, 1330, 1360, 1441,1343,1426)

# create data frame
data <- data.frame(qtr,dem)
data

我输入数据时的输出如下:

#          qtr  dem
# 1 2000-03-01 1342
# 2 2000-06-01 1382
# 3 2000-09-01 1296
# 4 2000-12-01 1330

不出所料。但是,当我随后转换为如下所示的时间序列时,我得到了一个额外的列。

ts=ts(data, start=c(2000,1), end= c(2001,4),frequency=4)
ts

输出:

#          qtr        dem
# 2000 Q1  951886800 1342
# 2000 Q2  959835600 1382
# 2000 Q3  967784400 1296
# 2000 Q4  975646800 1330

此外,如果我查看(即 View(ts)),我只能看到第二列和第三列,并且很难弄清楚日期的含义。中间栏的格式是什么?比如975646800中的数字代表什么?

如果您在 ts-object 中指定 data$dem,结果应该如您所愿。

qtr <- c("03/01/2000","06/01/2000","09/01/2000","12/01/2000","03/01/2001","06/01/2001","09/01/2001","12/01/2001")
qtr <- strptime(as.character(qtr), format = "%m/%d/%Y",tz="EST")
dem <- c(1342,1382,1296, 1330, 1360, 1441,1343,1426)

# create data frame
data <- data.frame(qtr,dem)


myts <- ts(data$dem, start=c(2000, 3), end=c(2001, 12), frequency=4)

myts
#>      Qtr1 Qtr2 Qtr3 Qtr4
#> 2000           1342 1382
#> 2001 1296 1330 1360 1441
#> 2002 1343 1426 1342 1382
#> 2003 1296 1330 1360 1441

reprex package (v0.3.0)

于 2020-01-29 创建