データのグループ化

dplyr::summarise()

  • dplyr::summarise()を実行すると、グループごとに、平均値や最小値、最大値などの値を算出できる
    • 括弧の中はdplyr::mutate()と同じように記述
dplyr::storms |> 
  dplyr::summarise(
    n = dplyr::n(), # 個数
    wind_mean = mean(wind), # 平均風速
    pressure_min = min(pressure), # 最低気圧
    .by = c(name, year) # nameとyearを基にグループ化
  ) |> 
  dplyr::arrange(wind_mean |> desc())

dplyr::mutate() の .by オプション

  • mutate の .by オプションでグループ化の基準となる列を指定すれば、グループごとに算出した結果をmutateできる
    • 全ての行を残したまま結果を新たな列として追加できるのがメリット

集計

dplyr::storms |> 
  dplyr::mutate(
    wind_mean = mean(wind), # 平均風速
    pressure_min = min(pressure), # 最低気圧
    .after = hour,
    .by = c(name, year) # nameとyearを基にグループ化
  ) |> 
  dplyr::arrange(wind_mean |> desc())

個数の計測

dplyr::storms |> 
  dplyr::mutate(
    N = dplyr::n(), # 個数のカウント
    .by = c(name, year), # nameとyearを基にグループ化
    .after = year
  ) 

データの場所

  • cur は current の略
  • dplyr::cur_group_id() : データの属するグループの番号 (上から順)
  • dplyr::cur_group_rows() : データの行番号