问题
I have a data frame containing a time series with two time stamp columns, d$day
and d$time
, and say, for simplicity, one measured variable d$val1
.
Suppose I want to examine the situation at the close of each day's experiment, i.e. the last measurement, if it exists. (Not every day has a measurement, and measurements can be taken at different times each day.)
I would like to be able to aggregate by day
and use some sort of last()
or tail()
function on time
to pull back the corresponding val
.
I've tried variations like this with not much success (one issue is that tail requires an argument, but how to specify that within aggregate?)
val_eod <- aggregate(d$val1, by=list(d$day), FUN=tail(...))
Any easier way to do this?
回答1:
Did you try this?
val_eod <- aggregate(d$val1, by = list(d$day), FUN = tail, n = 1)
来源:https://stackoverflow.com/questions/21736229/r-how-to-get-the-last-element-from-each-group