【R】-基本統計- 平均(算術平均・加重平均)

スポンサーリンク

はじめに

こんにちは!ひらちんです!Rを使った統計について自分の勉強も兼ねて記事にしています。

今回は、平均(算術平均)の計算についてです!

スポンサーリンク

平均(算術平均)

データの平均(算術平均)を計算するには、 mean関数 を利用します。

まずは、単純な算術平均を計算します。


計算に必要なサンプルを作るには、 sample関数が便利です。

sample(x=1:20, size=20, replace=TRUE)

これで、1から20の間でランダムに20個選んでくれます。

replaceの引数は、選ぶ数字の重複がOKかどうかです。

ここでは、TRUEにしているので重複OKとなります。


データにNA(欠損値)がない場合の平均

では、作成したサンプルから平均を計算しましょう。

mean(x)

これだけです。

簡単ですね。

データにNA(欠損値)が入っている場合

データの中にNA(欠損値)が入っている場合がありますよね。

先程抽出したサンプル「x」のうちランダムに5個をNA(欠損値)に置換します。

y <- x
y[sample(x = 1:20, size=5, replace=FALSE)] <- NA

この場合、そのまま mean関数に入れると NAが返ってきてしまいます。

NA(欠損値)を含む場合は、引数 na.rm = TRUE を指定します。

mean(y, na.rm = TRUE)

このサンプルで言うと

156÷15=10.4

が返ってきます。

加重平均(重み付け平均)

加重平均とは、数値の重みを考慮して平均値を求める算出方法で、「重みつき平均」と言われることもあります。

売上金額やアンケート結果の平均などで利用されます。

例えば、ひらちんショップでの1日の売上で以下のような結果があったとします。

商品名単価販売数
ひらちんの剣30,00015
ひらちんの盾25,00020
ひらちんの鎧35,00018

ここから、1日の1商品あたりの平均売上を求める場合、

剣:30,000 + 盾:25,000 + 鎧:35,000 = 合計:90,000
90,000 ÷ 3 = 30,000

とするのは間違いですね。

販売数の違い(数値の重み)が考慮されていません。

この場合、加重平均を利用して

販売数合計=剣:15 + 盾:20 + 鎧:18 = 53
売上合計 =剣:30,000✕15 + 盾:25,000✕20 + 鎧:35,00018 = 1,580,000
売上合計 ÷ 販売数合計 = 29811.320‥

とします。

Rでこの加重平均を計算するには、 weighted.mean関数を使います。

weighted.mean(x=grades,w=weights)

引数のxとwには、平均を計算するベクトルと重み付けのベクトルを用意します。

では、先程のひらちんショップの売上で計算してみましょう。

# 商品の売上単価のベクトル
grades <- c(30000,25000,35000)

# 重み付けのベクトル
weights <- c(15/60, 20/60, 18/60)

# 加重平均の計算
weighted.mean(x=grades,w=weights)

こんな感じになります。

それでは実行してみましょう!

先程計算した結果と同じになりましたね(^o^)

スポンサーリンク

まとめ

今回は、Rで平均について勉強しました。

引き続き頑張ります!

コメント

タイトルとURLをコピーしました