Hi, and welcome!
Please see the FAQ: What's a reproducible example (`reprex`) and how do I do one? Using a reprex, complete with representative data will attract quicker and more answers.
Screenshots are seldom helpful, and most of us in the community are naturally lazy
in the R
sense and usually unwilling to try reverse engineering the problem.
So, all I can offer is an outline
With the zoo
or lubridate
packages convert the date columns to date objects if they are character.
"Round" the date column you are using to half-hour intervals
Using the dplyr
package, `group_by(site,date_col) %>% summarize(new_col = VAR, function)
and assign the return to a new object name