Dplyr を使用して r で要約統計量を計算する方法


次の構文を使用すると、 dplyrパッケージの関数を使用して、R のデータ フレーム内のすべての数値変数の要約統計量を計算できます。

 library (dplyr)
library (tidyr)

df %>% summarise(across(where(is. numeric ), .fns = 
                     list(min = min,
                          median = median,
                          mean = mean,
                          stdev = sd,
                          q25 = ~quantile(., 0.25 ),
                          q75 = ~quantile(., 0.75 ),
                          max = max))) %>%
  pivot_longer(everything(), names_sep=' _ ', names_to=c(' variable ', ' .value '))

summarise()関数はdplyrパッケージに含まれており、変数の要約統計量を計算するために使用されます。

pivot_longer()関数はTidyrパッケージに含まれており、出力を読みやすくフォーマットするために使用されます。

この特定の構文は、データ フレーム内の各数値変数について次の要約統計量を計算します。

  • 最小値
  • 中央値
  • 平均値
  • 標準偏差
  • 25 パーセンタイル
  • 75パーセンタイル
  • 最大値

次の例は、この関数を実際に使用する方法を示しています。

例: dplyr を使用して R で要約統計量を計算する

R に、さまざまなバスケットボール選手に関する情報を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(12, 15, 19, 14, 24, 25, 39, 34),
                 assists=c(6, 8, 8, 9, 12, 6, 8, 10),
                 rebounds=c(9, 9, 8, 10, 8, 4, 3, 3))

#view data frame
df

  team points assists rebounds
1 to 12 6 9
2 A 15 8 9
3 A 19 8 8
4 A 14 9 10
5 B 24 12 8
6 B 25 6 4
7 B 39 8 3
8 B 34 10 3

次の構文を使用して、データ フレーム内の各数値変数の要約統計量を計算できます。

 library (dplyr)
library (tidyr)

#calculate summary statistics for each numeric variable in data frame
df %>% summarise(across(where(is. numeric ), .fns = 
                     list(min = min,
                          median = median,
                          mean = mean,
                          stdev = sd,
                          q25 = ~quantile(., 0.25 ),
                          q75 = ~quantile(., 0.75 ),
                          max = max))) %>%
  pivot_longer(everything(), names_sep=' _ ', names_to=c(' variable ', ' .value '))

# A tibble: 3 x 8
  variable min median mean stdev q25 q75 max
             
1 points 12 21.5 22.8 9.74 14.8 27.2 39
2 assists 6 8 8.38 2.00 7.5 9.25 12
3 rebounds 3 8 6.75 2.92 3.75 9 10

 結果から次のことがわかります。

  • ポイント列の最小値は12です。
  • ポイント列の中央値は21.5です。
  • ポイント列の平均値は22.8です。

等々。

: この例では、 dplyr across()関数を使用しました。この関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、dplyr を使用して他の一般的な機能を実行する方法について説明します。

dplyr を使用してデータを要約し、すべての列を保持する方法
dplyr を使用して複数の列を要約する方法
dplyrを使用して標準偏差を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です