重み付きデータ
ランク | 時給 | 人数 |
D-1 | 750 | 2 |
D-2 | 800 | 10 |
C-1 | 850 | 7 |
C-2 | 900 | 4 |
C-3 | 1000 | 4 |
B-1 | 1200 | 3 |
B-2 | 1500 | 2 |
B-3 | 2000 | 2 |
A | 3000 | 1 |
表はA社契約社員のランクとその時給、およびランクごとの人数を示したものである。A社の契約社員の平均時給を求めよ。
この問題の解答はもちろんmean(時給)→1333.33ではない。時給3000円もらっているのが1人なのに対して時給800円は10人もいる。このような形式のデータを「重み付きデータ」と呼ぶ。
関数 weighted.mean
重みを考慮に入れた平均値を「加重平均」という。この加重平均を求める関数がweighted.meanである。
weighted.mean(変数,度数変数)
元データの復元
weighted.mean関数は(当たり前だが)加重平均にしか対応していない。中央値や分散などを計算する時には一旦元データを復元してから計算する。
重み付きデータというのは度数分布表のことなので、これを集計前の表に戻すのである。
- lapply(X,function)
-
リストデータすべての要素に関数を適用する。
- X…リストデータ
- function…関数定義または関数名
- rep(x,freq)
-
convert.weighted.data.to.original関数(socialStatisticsBasic.Rで読み込まれる自作関数)
- convert.weighted.data.to.original(data.frame, freq.name)
-
重み付きデータから元データを復元する。
- data.frame=重み付きデータ(data.frame型)
- freq.name="Freq" 度数変数の項目(変数)名