2015-11-25 2 views
1

я собрал данные один раз в минуту в течение последних 80 дней, что эквивалентно около 116K записей:Рассчитать поминутный день недели в среднем в R

... 
"30694","2015-09-06 18:09:11","119" 
"30695","2015-09-06 18:10:09","693" 
"30696","2015-09-06 18:11:10","155" 
... 

Я хочу, чтобы иметь возможность построить график в целом неделю в среднем по этим данным. Как мне это сделать в R? Я думал о том, чтобы разделить данные на каждый день ([воскресенье, понедельник, ..., суббота]), а затем принимать среднее значение за минуту (так что просто игнорируйте секунды), равное 60 * 24 * 7 = 10 080 общих средних для неделю, каждое среднее значение вычисляется за 80 дней стоимостью данных за определенную минуту (т.е. 18:11). Есть ли более простой/лучший способ сделать это? Также был бы открыт для использования другого пакета анализа данных.

ответ

1

Вы можете сделать это легко, используя lubridate.

library(dplyr) 
library(lubridate) 

data %>% 
    setNames(c("ID", "time", "measurement")) %>% 
    mutate(time = time %>% ymd_hms, 
     week = time %>% round_date("week")) %>% 
    group_by(week) %>% 
    summarize(measurement = mean(measurement)) 
Смежные вопросы