在 R 中将数据帧转换为时间序列

Converting a Data Frame into a Time Series in R

我在将数据帧转换为时间序列时遇到一个奇怪的问题:

1) 我有一个包含 420,000 行的数据框。看起来像:

 > numsdf[5760:5764,]

              YR--MODAHRMN TEMP DEWP
 7712 1973-04-29 00:00:00   82   35
 7713 1973-04-29 01:00:00   78   41
 7714 1973-04-29 02:00:00   73   45
 7715 1973-04-29 03:00:00   66   41
 7716 1973-04-29 04:00:00   61   46

2) 我将其转换为时间序列。到这里没问题。

> tsdf=with(numsdf, xts(numsdf$TEMP, order.by = numsdf$"YR--MODAHRMN"))

3) 问题 1:由于某种原因,TEMP 列变为 V1。不知道为什么。

 > tsdf[5760:5764,]
                      [,1]
 1973-04-29 00:00:00   82
 1973-04-29 01:00:00   78
 <NA>                  73
 1973-04-29 03:00:00   66
 1973-04-29 04:00:00   61

3) 问题 2:

一些日期(随机且无明显原因)更改为 .如上面的例子,我不知道为什么会这样。谢谢

TEMP 列变为 V1 因为 numsdf$TEMP 是一个向量并且没有列名,所以 xts 构造函数给它一个默认的列名 V1.

有些日期时间可能 NA 因为它们发生在您当地时区的夏令时开始时。

如果您希望人们能够提供更具体的解决方案,您需要提供更具体的细节(通过 reproducible example)。