Среднесуточное значение почасовых данных по параметру - PullRequest
1 голос
/ 11 июня 2019

У меня есть следующий кадр данных, который показывает ежечасные смоделированные концентрации тяжелых металлов для двух параметров:

Date<-c("2013-01-01 02:00:00","2013-01-01 03:00:00","2013-01-02 02:00:00","2013-01-02 03:00:00","2013-01-01 02:00:00","2013-01-01 03:00:00","2013-01-02 02:00:00","2013-01-02 03:00:00")
Parameter<-c("Par1","Par1","Par1","Par1","Par2","Par2","Par2","Par2")
sim1<-c(1,4,3,2,6,5,3,5)
sim2<-c(3,2,3,1,8,2,7,3)
obs<-data.frame(Date,Parameter,sim1,sim2)
obs$Date<-as.POSIXct(obs$Date)

Мне нужно среднесуточное значение для каждого параметра. Есть идеи? Я пытался aggregate, но я не мог понять, как группировать по параметру и дате.

1 Ответ

2 голосов
/ 11 июня 2019

Мы можем преобразовать 'Date' в Date класс с as.Date, использовать это в group_by вместе с 'Parameter' и получить mean от остальных столбцов с summarise_all

library(tidyverse)
obs %>% 
   group_by(Daily = as.Date(Date), Parameter) %>%
   summarise_all(mean)

Или используя aggregate из base R

aggregate(.~ Date + Parameter, transform(obs, Date = as.Date(Date)), mean)

Или используя by

by(obs[3:4], list(obs$Parameter, as.Date(obs$Date)), FUN = colMeans)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...