R で集計テーブルを作成する最も簡単な方法
R で要約テーブルを作成する最も簡単な方法は、 psychライブラリのdescription()関数とdescriptionBy()関数を使用することです。
library (psych) #create summary table describe(df) #create summary table, grouped by a specific variable describeBy(df, group=df$var_name)
次の例は、これらの関数を実際に使用する方法を示しています。
例 1: 基本的な集計表を作成する
R に次のデータ フレームがあるとします。
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C'), points=c(15, 22, 29, 41, 30, 11, 19), rebounds=c(7, 8, 6, 6, 7, 9, 13), steals=c(1, 1, 2, 3, 5, 7, 5)) #view data frame df team points rebounds steals 1 to 15 7 1 2 A 22 8 1 3 B 29 6 2 4 B 41 6 3 5 C 30 7 5 6 C 11 9 7 7 C 19 13 5
description()関数を使用して、データ フレーム内の各変数の概要テーブルを作成できます。
library (psych) #create summary table describe(df) vars n mean sd median trimmed mad min max range skew kurtosis team* 1 7 2.14 0.90 2 2.14 1.48 1 3 2 -0.22 -1.90 points 2 7 23.86 10.24 22 23.86 10.38 11 41 30 0.33 -1.41 rebounds 3 7 8.00 2.45 7 8.00 1.48 6 13 7 1.05 -0.38 steals 4 7 3.43 2.30 3 3.43 2.97 1 7 6 0.25 -1.73 se team* 0.34 points 3.87 rebounds 0.93 steals 0.87
結果の各値を解釈する方法は次のとおりです。
- vars : 列番号
- n : 有効なケースの数
- Average : 平均値
- median : 中央値
- rimmed : トリミングされた平均 (デフォルトでは、観測値の 10% が両端で削除されます)
- mad : (中央値からの) 絶対中央値偏差
- min : 最小値
- max : 最大値
- range : 値の範囲(最大値 – 最小値)
- スキュー: 非対称
- 尖度: 平坦化
- se : 標準誤差
アスタリスク (*) の付いた変数は、値の順序を表す値を持つ数値変数に変換されたカテゴリ変数または論理変数であることに注意することが重要です。
この例では、「チーム」変数が数値変数に変換されているため、対応する要約統計量を文字通りに解釈すべきではありません。
また、 fast=TRUE引数を使用すると、最も一般的な概要統計のみを計算できることにも注意してください。
#create smaller summary table describe(df, fast= TRUE ) vars n mean sd min max range se team 1 7 NaN NA Inf -Inf -Inf NA points 2 7 23.86 10.24 11 41 30 3.87 rebounds 3 7 8.00 2.45 6 13 7 0.93 steals 4 7 3.43 2.30 1 7 6 0.87
データ フレーム内の特定の変数の要約統計のみを計算することも選択できます。
#create summary table for just 'points' and 'rebounds' columns describe(df[, c(' points ', ' rebounds ')], fast= TRUE ) vars n mean sd min max range se points 1 7 23.86 10.24 11 41 30 3.87 rebounds 2 7 8.00 2.45 6 13 7 0.93
例 2: 特定の変数ごとにグループ化された要約テーブルを作成する
次のコードは、 describeBy()関数を使用して、「チーム」変数によってグループ化されたデータ フレームの概要テーブルを作成する方法を示しています。
#create summary table, grouped by 'team' variable describeBy(df, group=df$team, fast= TRUE ) Descriptive statistics by group group: A vars n mean sd min max range se team 1 2 NaN NA Inf -Inf -Inf NA points 2 2 18.5 4.95 15 22 7 3.5 rebounds 3 2 7.5 0.71 7 8 1 0.5 steals 4 2 1.0 0.00 1 1 0 0.0 -------------------------------------------------- ---------- group: B vars n mean sd min max range se team 1 2 NaN NA Inf -Inf -Inf NA points 2 2 35.0 8.49 29 41 12 6.0 rebounds 3 2 6.0 0.00 6 6 0 0.0 steals 4 2 2.5 0.71 2 3 1 0.5 -------------------------------------------------- ---------- group: C vars n mean sd min max range se team 1 3 NaN NA Inf -Inf -Inf NA points 2 3 20.00 9.54 11 30 19 5.51 rebounds 3 3 9.67 3.06 7 13 6 1.76 steals 4 3 5.67 1.15 5 7 2 0.67
出力には、データ フレーム内の 3 つのチームそれぞれの概要統計が表示されます。
追加リソース
R で 5 つの数値の要約を計算する方法
R でグループごとの平均を計算する方法
Rでグループごとの合計を計算する方法
Rの分散を計算する方法
R で共分散行列を作成する方法