【R】dplyr::summariseの使い方

R

summarise_atで列を指定して関数を適用する

statistics_data.table <- statistics_data.table %>%
  dplyr::group_by(RACE_CODE, UMABAN) %>%
  dplyr::summarise_at(vars(prefix_WIN_NUM, prefix_RENTAI_NUM, prefix_FUKUSHO_NUM), list(sum)) %>%
  dplyr::ungroup()

list()で全ての列に適用させたい関数を記載する。前までlistはfunsで書いていたが非推奨だというのでlistで。

特定の列に対して、複数の関数を適用することも可能。

statistics_data.table <- statistics_data.table %>%
  dplyr::group_by(RACE_CODE, UMABAN) %>%
  dplyr::summarise_at(vars(WIN_NUM), list(SUM_WIN_NUM=sum, MEAN_WIN_NUM=mean, MAX_WIN_NUM=max)) %>%
  dplyr::ungroup()

summarise_allで全ての列に関数を適用する

NAを除いて平均値を出す。その後、round関数で小数点以下3桁まで保持するよう四捨五入する。

scale_data.table <- scale_data.table %>% 
  dplyr::summarise_all(list(mean), na.rm=TRUE) %>% 
  dplyr::summarise_all(list(round), digits=3) 

list()で全ての列に適用させたい関数を記載する。

共通の引数は関数の後に続けて記載する。na.rm=TRUEでNAを除外して平均値算出。

group_byがなくても使える。その場合は全行が対象になる。

コメント