سؤال

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?

هل كانت مفيدة؟

المحلول

Did you try this?

val_eod <- aggregate(d$val1, by = list(d$day), FUN = tail, n = 1)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top