R:如何从每个组中获取最后一个元素?

时间:2014-02-12 18:15:37

标签: r aggregate reduce tail

我有一个包含时间序列的数据框,其中包含两个时间戳列d$dayd$time,并且为简单起见,请说一个测量变量d$val1

假设我想检查每天实验结束时的情况,即最后一次测量(如果存在的话)。 (并非每天都有测量,每天可以在不同时间进行测量。)

我希望能够按day进行汇总,并在last()上使用某种tail()time函数来撤回相应的val

我尝试过这样的变体并没有太大成功(一个问题是tail需要一个参数,但是如何在聚合中指定?)

 val_eod <- aggregate(d$val1, by=list(d$day), FUN=tail(...))

更简单的方法吗?

1 个答案:

答案 0 :(得分:2)

你试过这个吗?

val_eod <- aggregate(d$val1, by = list(d$day), FUN = tail, n = 1)