auditR
データを要約する
データをグループ分けして要約するには、group_by() + summarise() が便利
#元になるデータ(3種類のサイコロの出る目の数、100回分)
d <- data.frame (A = as.integer( runif(100, min = 1, max = 7) ),
B = as.integer( runif(100, min = 1, max = 7) ),
C = as.integer( runif(100, min = 1, max = 7) ))
# 確率を求める
d |>
pivot_longer(names_to = "ABC", cols = c("A", "B", "C")) |> # データを縦長に変換
group_by(ABC, value) |> # サイコロABCごと出る目valueごとにグループ化
summarise(N = n()) |> # ここでグループ単位で合計が出される(グループvalueが一段解除される)
mutate(Rate = N/sum(N)) |> # グループABC単位でsumが計算されるためRateはサイコロごと
pivot_wider(names_from = ABC, values_from = Rate)
- 参考
!group_byの問題点もある
詳しくはこちらhttps://blog.atusy.net/2024/12/19/dplyr-groupby/
summarize()のオプションにある".by="を使うと、group_byを使わなくても演算できるケースもある。
Last updated 2022-06-21 | auditR (c) N.Nawata