Rで統計: データ集合中の最大、最小、平均、中央値 – summary()関数

使用するデータに2007年度のセリーグの打撃成績の1位~10位までの安打を用います。

参考:2007年度 セントラル・リーグ 個人打撃成績(規定打席以上)


選 手
1 青木 宣親 (ヤ) 193
2 ラミレス (ヤ) 204
3 谷 佳知 (巨) 172
4 小笠原 道大 (巨) 177
5 栗原 健太 (広) 175
6 高橋 由伸 (巨) 155
7 佐伯 貴弘 (横) 122
8 相川 亮二 (横) 118
9 赤星 憲広 (神) 120
10 宮本 慎也 (ヤ) 139

上表より安打の基本統計量を求めるには以下のコマンドを使用します。

> summary(c(193, 204, 172, 177, 175, 155, 122, 118, 120, 139))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  118.0   126.2   163.5   157.5   176.5   204.0
>

1行目の「> 」以降の文字列がコマンドで2、3行目がその実行結果となり、実行結果の項目の意味はそれぞれ下表のようになります。

summary()関数の戻り値の意味

summary() 意味
Min 最小値
1st Qu 第一四分位数
Median 中央値
Mean 平均値
3rd Qu 第三四分位数
Max 最大値

ここで、中央値とはデータ集合中の中央の順位に位置する値であり、第一四分位数と第三四分位数はそれぞれ、下から数えて1/4、3/4の順位に位置する値です。

ただし、データ個数が偶数個の場合は、中央(1/4、3/4)の順位に近い2つの値の算術平均をとります。

コマンドの説明

c()関数の引数に10人の安打数をカンマ区切りで代入し、戻り値として10人のデータをまとめたベクトル変数を得ます。summary()関数にそのベクトル変数を代入することで今回の実行結果を得ています。

ちなみに、c()の c は combine の頭文字からきています。

中央値と平均値の使い分け

平均値はデータ集合の散らばり具合が分かりませんので、その平均値がデータ集合全体を表すのに妥当かどうか判断できません(→散らばり具合は分散、偏差から分かる)。ただ、中央値によってそれをある程度補完することが出来ます。

仮に、上のデータに年間安打1000本の選手(現実そんなに打席に入れません>_<)を入れると

> summary(c(193, 204, 172, 177, 175, 155, 122, 118, 120, 139, 1000))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  118.0   130.5   172.0   234.1   185.0  1000.0
>

これによって平均値がかなり押し上げられていますが、中央値は1つずれただけですね。中央値はデータの個数と順序によって決まるものなので、突出したデータが少数入っていてもあまり影響は受けません。

最大値、最小値、平均値、中央値を求める関数(別個に)

ベクトル変数を以下のように設定したとき、

> batting2007 <- c(193, 204, 172, 177, 175, 155, 122, 118, 120, 139)

最大値、最小値、平均値、中央値はそれぞれmax()、min()、mean()、median()関数で求まります。

> max(batting2007)
[1] 204
> min(batting2007)
[1] 118
> mean(batting2007)
[1] 157.5
> median(batting2007)
[1] 163.5
>