2016-06-26 2 views
0

Я объект FFDF под названием «group1», который имеет миллион строк данных, выглядит следующим образом:получать среднее среднее для каждого периода в объекте FFDF в R

 Location     DateandTime Reading  Group 
1    1   01/01/2012 00:00:00  0.8   1 
2    1   01/01/2012 00:30:00  0.4   1 
3    1   01/01/2012 01:00:00  0.7   1 
4    1   01/01/2012 01:30:00  0.2   1 

Я пытаюсь получить средний «Чтение» и стандартное отклонение для каждого «DateandTime» и создать новый ФР выглядеть примерно так:

     DateTime  mean  sd 
1   01/01/2012 00:00:00  0.8  .2   
2   01/01/2012 00:30:00  0.5  .5   
3   01/01/2012 01:00:00  0.2  .3   
4   01/01/2012 01:30:00  0.8  .8 

ответ

0

Или вы можете использовать dplyr пакет

library(dplyr) 
    group1.stat <- group1 %>% 
     select(DateandTime, Reading) %>% 
     group_by(DateandTime) %>% 
     summarise_each(funs(mean = mean(., na.rm = TRUE), sd = sd(., na.rm = TRUE))) 
    group1.stat 
+0

я получаю следующее сообщение об ошибке: Ошибка в методе UseMethod («select_»): не применяется метод «select_» не применяется к объекту класса «FFDF» – Clover

+0

Есть метод для этой работы специально для объектов ffdf? – Clover

+0

'dplyr' работает с фреймом данных. Вам нужно преобразовать ваши объекты ffdf в data.frame с помощью 'as.data.frame' – Tung

0

Этого dplyr подход также будет работать:

library(dplyr) 

newdf <- group1 %>% 
    group_by(DateandTime) %>% 
    summarise(mean = mean(Reading), sd = sd(Reading)) 
+0

Я получаю следующую ошибку: Ошибка в UseMethod (" group_by_ "): не применимый метод для 'group_by_', примененный к объекту класса" ffdf " – Clover

+0

Есть ли способ сделать эту работу специально для объектов ffdf? – Clover

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