2016-10-05 7 views
1

Я хочу рассчитать средние значения 1-минутного и 5-минутного значений из набора данных с 1-минутными значениями.Среднее значение в R

Набор данных выглядит следующим образом:

 time  BC 
1 10:40:01 2217 
2 10:40:02 5776 
3 10:40:03 2111 
4 10:40:04 1407 
5 10:40:05 2056 
. 
. 
. 
n 11:30:58 6044 

Я нашел post, где кто-то предложил zoo(aggregate) функцию для этого.

Я пробовал так:

time<-as.character(time) 
BC<-as.numeric(BC) 
BC_mean<-aggregate(BC, trunc(time, "00:01:00"), mean) 

Однако, это не работает. Я не совсем уверен, правильно ли понимаю агрегатную функцию, и определения, которые я нашел в Интернете, меня еще больше запутывают. Может кто-нибудь мне помочь?

ответ

0

Мы можем преобразовать «Time» для POSIXct класса, а также использовать cut создать группы, которые будут использоваться в aggregate

brk = "5 min" 
df2 <- transform(df1, timeGrp = cut(as.POSIXct(time, format = "%H:%M:%S"), breaks = brk)) 
aggregate(BC~timeGrp, df2, mean) 
+1

Спасибо, что отлично работает! – brtstph

Смежные вопросы