Calculate daily means from 5-minute interval data
Hello,
You have date and hour in two separate columns, so to compute daily
stats part of the work is already done. (Were they in the same column
you would have to extract the date only.)
# convert to class "Date"
df1$date <- as.Date(df1$date)
# function to compute the stats required
# it's important to note that all the stats
# are returned in a vector, see below
fun <- function(x, na.rm = FALSE){
c(mean_cfs = mean(x, na.rm = na.rm),
sd_cfs = sd(x, na.rm = na.rm))
}
# now this will put a *matrix* under cfs
# each row has the statistics computed
# by the function
agg <- aggregate(cfs ~ date, df1, fun)
str(agg)
#'data.frame': 1 obs. of 2 variables:
# $ date: Date, format: "2020-08-26"
# $ cfs : num [1, 1:2] 110400 16143
# ..- attr(*, "dimnames")=List of 2
# .. ..$ : NULL
# .. ..$ : chr [1:2] "mean_cfs" "sd_cfs"
# so now put everything in separate columns
agg <- cbind(agg[-ncol(agg)], agg[[ncol(agg)]])
str(agg)
#'data.frame': 1 obs. of 3 variables:
# $ date : Date, format: "2020-08-26"
# $ mean_cfs: num 110400
# $ sd_cfs : num 16143
Hope this helps,
Rui Barradas
?s 17:49 de 29/08/21, Rich Shepard escreveu:
On Sun, 29 Aug 2021, Eric Berger wrote:
Provide dummy data (e.g. 5-10 lines), say like the contents of a csv file, and calculate by hand what you'd like to see in the plot. (And describe what the plot would look like.)
Eric, Mea culpa! I extracted a set of sample data and forgot to include it in the message. Here it is: date,time,cfs 2020-08-26,09:30,136000 2020-08-26,09:35,126000 2020-08-26,09:40,130000 2020-08-26,09:45,128000 2020-08-26,09:50,126000 2020-08-26,09:55,125000 2020-08-26,10:00,121000 2020-08-26,10:05,117000 2020-08-26,10:10,120000 ... 2020-08-26,23:10,108000 2020-08-26,23:15,96200 2020-08-26,23:20,86700 2020-08-26,23:25,103000 2020-08-26,23:30,103000 2020-08-26,23:35,99500 2020-08-26,23:40,85200 2020-08-26,23:45,103000 2020-08-26,23:50,95800 2020-08-26,23:55,88200 Rich
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.