Из вашего фрейма данных я создал фиктивный фрейм данных. Я бы использовал пакет 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 для всех этих простых преобразований или предоставьтебольше данных, если неясно.