Rによる平均、分散、標準偏差の計算

Rによる平均、分散、標準偏差の計算を解説します。

データの準備

例として、次の5人の身長のデータを考えてみます。

165,178,187,162,171(cm)

このデータをRで扱うために、heightと言う変数に5つのデータを代入します。

> height <- c(165,178,187,162,171)

実際に変数heightに代入されたデータを見てみましょう。

> height
[1] 165 178 187 162 171

 

平均

このデータの平均を求めてみましょう。2つの方法があります。

まずはsum関数を使う方法です。5つのデータをsum関数で足した後に、データの個数で割ります。

> sum(height)/length(height)
[1] 172.6

もう一つの方法はもっと直接的な方法で、mean関数を使う方法です。(ちなみにmeantとは英語で平均という意味です。)

> mean(height)
[1] 172.6

sum関数を使っても、mean関数を使っても同じ平均値172.6が出てきます。

分散

次にこのデータの分散を求めてみましょう。2つの方法があります。まずは分散の定義に従って、ガリガリ計算してみましょう。(ここでは不偏標本分散を計算します。なのでデータの個数−1で割ります。)

> sum((height-mean(height))^2)/(length(height)-1)
[1] 102.3

 

もっと直接的な方法はvar関数を使うことです。

> var(height)
[1] 102.3

両方の方法とも同じ結果を与えます。ここでvar関数は不偏標本分散を計算していることに注意しましょう。(つまり、データ数で割るのではなく、(データ数−1)で割るということです。)

標準偏差

標準偏差も2つのやり方で計算してみます。まずは標準偏差の定義に従って、分散の平方根を計算して標準偏差を求めてみましょう。

> sqrt(var(height))
[1] 10.11435

もっと直接的な方法としては、sd関数を使う方法があります。

> sd(height)
[1] 10.11435

当然ながら両方の計算結果は一致します。