今回は、平均値(相加平均 mean)、中央値(median)、最頻値(mode)の3つの代表値(average)について勉強します。“数学チュートリアル やさしく語る 確率統計 西岡康夫(著)”の1.3節 代表値の例題をRで解きます。
例題
次の表はある大学の剣道部に所属する男子学生15名の身長である。(単位: cm)
172 169 179 166 173 171 177 180
168 172 174 177 172 185 173
このデータについて次の問いに答えよ。
(1)最頻値を求めよ。
(2)中央値を求めよ。
(3)平均値(相加平均)を小数点第2位まで求めよ。
最も大きい頻度(データ内のある変量の出現回数)の変量の値が最頻値です。
表のデータを変数data
に入力します。
data <- c(172, 169, 179, 166, 173, 171, 177, 180, 168, 172, 174, 177, 172, 185, 173)
データを昇順にソートします。
sort(data)
## [1] 166 168 169 171 172 172 172 173 173 174 177 177 179 180 185
目で見て数えると172の頻度が3で最も多そうです。
頻度をカウントします。
table(data)
## data
## 166 168 169 171 172 173 174 177 179 180 185
## 1 1 1 1 3 2 1 2 1 1 1
最頻値は頻度3の172です。
関数で最頻値と頻度を計算するには次のようにします。
t <- table(data)
which.max(t)
## 172
## 5
max(t)
## [1] 3
昇順にソートしたデータの(length(data)+1)/2 =
8番目が中央値です。
data_s <- sort(data)
index_m <- (length(data)+1)/2
data_s[index_m]
## [1] 173
median関数だけで求めることができます。
median(data)
## [1] 173
データの和をデータの個数で割った値が平均値です。
sum(data) / length(data)
## [1] 173.8667
mean関数だけで求めることができます。
mean(data)
## [1] 173.8667
小数点第2位までの値を計算するには次のようにします。
m <- mean(data)
round(m, 2)
## [1] 173.87