【发布时间】:2013-05-23 03:05:02
【问题描述】:
我是 R 的新手,但已经转向它来解决我正在尝试处理的大型数据集的问题。目前,我针对分钟间隔时间戳(月/日/年小时:分钟)(X 值)设置了 4 列数据(Y 值),如下所示:
timestamp tr tt sr st
1 9/1/01 0:00 1.018269e+02 -312.8622 -1959.393 4959.828
2 9/1/01 0:01 1.023567e+02 -313.0002 -1957.755 4958.935
3 9/1/01 0:02 1.018857e+02 -313.9406 -1956.799 4959.938
4 9/1/01 0:03 1.025463e+02 -310.9261 -1957.347 4961.095
5 9/1/01 0:04 1.010228e+02 -311.5469 -1957.786 4959.078
我遇到的问题是缺少一些时间戳值 - 例如9/1/01 0:13 和 9/1/01 0:27 之间可能存在间隙,并且此类间隙在数据集中是不规则的。我需要将这些系列中的几个放入同一个数据库中,并且由于每个系列的缺失值不同,因此日期当前并未在每一行上对齐。
我想为这些缺失的时间戳生成行,并用空白值(没有数据,不为零)填充 Y 列,这样我就有了一个连续的时间序列。
老实说,我不太确定从哪里开始(在我继续学习之前并没有真正使用过 R!)但是任何帮助将不胜感激。到目前为止,我已经安装了 chron 和 zoo,因为它们似乎很有用。
谢谢!
【问题讨论】:
-
其实我很早就发现了,而且一定是不小心关闭了标签,然后才能阅读它!我会根据他们的建议玩一玩。谢谢! :)
-
@Thomas 如果我按如下方式加载数据:
> # set Home directory > home = setwd(Sys.getenv("HOME")); > > # make path to the csv file > fpath = file.path(home, "Desktop", "at0901.csv"); > # read the csv file > at0901 = read.csv(fpath, header=TRUE);然后我尝试按照推荐的帖子将“时间戳”列转换为 POSIXct 值,但得到以下信息:ts$timestamp <- as.POSIXct(ts$timestamp, format="%m/%d/%y %H:%M") Error in ts$timestamp : object of type 'closure' is not subsettable抱歉我的无知 - 我已经用非常早的编码知识抛出了这个项目!
标签: r time-series missing-data