【发布时间】:2014-03-11 18:36:51
【问题描述】:
下午好,
我有一个如下的数据框,第一列是时间戳,POSIXlt,第二列是数据值:
Date Data
9/9/13 12:48 0.24
9/12/13 10:26 0.26
9/13/13 13:00 -0.14
9/17/13 11:31 -0.04
9/17/13 15:43 0.04
9/18/13 11:51 -0.04
9/18/13 14:35 -0.08
9/18/13 15:11 -0.08
9/19/13 10:12 -0.08
9/19/13 11:48 -0.16
我想按天汇总数据列,如下所示:
Date Total For Day
9/9/13 0.24
9/12/13 0.26
9/13/13 -0.14
9/17/13 0
9/18/13 -0.20
9/19/13 -0.24
我最初的反应是创建一个for循环如下:
- 运行 unique(as.Date(Date Column)) 以获取所有日期的列表。
- 只要初始数据表中的当前日期与正在检查的唯一列表中的日期匹配,就可以通过创建总计来循环遍历此新列表。
- 一旦日期不匹配,记录总数并在下一个日期重复,直到列表完成。
10 次中有 9 次,当我在 R 中执行 for 循环时,总会有一个命令或方法可以更轻松、更有效地完成它。
在这种情况下,有没有比 for 循环更好的方法?
【问题讨论】:
-
我认为您的输出不正确。
9/17/13出现两次,9/19/13从未出现,9/18/13的总数不正确 -
感谢 Jake 指出这一点,我已更正。