2017-08-30 6 views
0

私は以下のデータフレームを持っています。私は毎日の日付を集計する必要があり、他のすべての列はその日の平均で集計されます。日付を集計する方法

入力:期待

Date    mean  MAT    RA 
6/10/2017 0:00  58.2275 72.14193702  100.22691322 
6/10/2017 0:15  58.2055 75.14193702  102.22691322 
6/10/2017 0:30  58.249 76.14193702  105.22691322 
6/11/2017 13:45  60.2275 80.14193702  110.22691322 
6/11/2017 14:00  65.2055 82.14193702  120.22691322 
6/11/2017 14:15  66.2275 81.14193702  115.22691322 

出力:

Date   mean  MAT  RA 
    6/10/2017  58.2  74  102 
    6/11/2017  63.33 81  115 
+0

ヒント: 'フォーマット(DFの$日付、フォーマット= '%dの')' – Sotos

+0

'のdf $日付= as.Date(DFの$日付)'そして 'GROUP_BYを使用して' – Wen

+0

group_by by what? – Anagha

答えて

0

我々はdplyrlubridateから関数を使用することができます。 dt2が最終出力です。

library(dplyr) 
library(lubridate) 

dt2 <- dt %>% 
    mutate(Date = mdy_hm(Date)) %>% 
    mutate(Date = as.Date(Date)) %>% 
    group_by(Date) %>% 
    summarise_all(funs(mean(.))) 

dt2 
# A tibble: 2 x 4 
     Date  mean  MAT  RA 
     <date> <dbl> <dbl> <dbl> 
1 2017-06-10 58.22733 74.47527 102.5602 
2 2017-06-11 63.88683 81.14194 115.2269 

データ

dt <- read.table(text = "Date    mean  MAT    RA 
'6/10/2017 0:00'  58.2275 72.14193702  100.22691322 
'6/10/2017 0:15'  58.2055 75.14193702  102.22691322 
'6/10/2017 0:30'  58.249 76.14193702  105.22691322 
'6/11/2017 13:45'  60.2275 80.14193702  110.22691322 
'6/11/2017 14:00'  65.2055 82.14193702  120.22691322 
'6/11/2017 14:15'  66.2275 81.14193702  115.22691322", 
       header = TRUE, stringsAsFactors = FALSE) 
+0

ありがとうございました。 :) – Anagha