Как рассчитать среднесуточное значение почасовых данных и для разных переменных одновременно - PullRequest
0 голосов
/ 22 октября 2019

У меня есть данные в форме:

Date_Time            Address      Consumption (Litres/hr)
19/4/2016 13:00      41-2TV            20
20/4/2016 14:00      41-2TV            40
21/4/2016 15:00      41-2TV            16
19/4/2016 13:00      39-2TV            20
20/4/2016 14:00      39-2TV            40
21/4/2016 15:00      39-2TV            16
19/4/2016 13:00      43-2TV            20
20/4/2016 14:00      43-2TV            40
21/4/2016 15:00      43-2TV            16

У меня есть данные для каждого адреса за полный день и т. Д. За полный месяц. Как я могу рассчитать среднесуточное значение, а затем привести к ежемесячномусреднее для разных адресов одновременно. У меня более 100 адресов и данные за 1 год, которые даются ежедневно.

1 Ответ

0 голосов
/ 22 октября 2019

Из вашего фрейма данных я создал фиктивный фрейм данных. Я бы использовал пакет dplyr для group_by и суммировал.

Если значения указаны днем, вы можете просто group_by(Adress). Если вы хотите проверить по месяцам, вы можете использовать функцию lubridate floor_date(Date, by = 'month') для группы по функции, чтобы иметь возможность чтения по месяцам для каждого адреса.

library(dplyr)
library(lubridate)
Consumption <- data.frame(Date_Time = c('19/4/2016 13:00','20/4/2016 14:00', '21/4/2016 15:00', '19/4/2016 13:00', '20/4/2016 14:00', '21/4/2016 15:00'), 
                          Address = c('41-2TV', '41-2TV', '41-2TV', '39-2TV', '39-2TV','39-2TV'), 
                          Consumption = c(20, 40, 16, 20, 40, 16))


NewDataFrame <- Consumption %>%
  mutate(Date_Time = as.Date(Date_Time,  format = "%d/%m/%Y"), 
         Address = as.factor(Address)) %>%
  group_by(Address) %>%
  summarise(AverageDay = mean(Consumption))

Address AverageDay
  <fct>        <dbl>
1 39-2TV        25.3
2 41-2TV        25.3

Проверьте пакет dplyr для всех этих простых преобразований или предоставьтебольше данных, если неясно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...