今日は、
の続き、というかこのデータを使って、
Statistics: An Introduction Using R
- 作者: Michael J. Crawley
- 出版社/メーカー: Wiley
- 発売日: 2014/11/24
- メディア: ペーパーバック
- この商品を含むブログを見る
の第3章、Central Tendencyの練習をしようと思います。
まず、ZaiAllというベクトルを作成し、as.character関数とpaste関数を使って、Yearとprefを連結した文字列ベクトルを作成し、names関数でZaiAllに名前の属性をつけて、head関数ではじめの6データを表示しました。
hist関数でヒストグラムを描きました。label = TRUEとして度数を表示しています。
mean関数で平均値、median関数で中央値を算出し、ablineでヒストグラムに重ねました。赤が平均値、青が中央値です。
ヒストグラムは、右の裾野が広い分布形状です。
上に掲載した本では、Central Tendancyとして、arithmetic mean, median, geometric mean, harmonic meanの4種類が記述されています。
arithmetic meanはR言語ではmean関数がはじめからあります。
sum(x) / length(x) 、つまりデータの合計値をデータの個数で割ったものです。
function関数でそのような関数をつくり計算しましたが、mean関数と一致します。
中央値はmedian関数という出来合いの関数がありますが、function関数で作成しました。
ベクトルの個数が奇数ならその真ん中の値になるので、sort(x)で小さい順に並べて、ceiling(ベクトルの個数 / 2)番目の値が中央値になります。
ベクトルの個数が偶数なら、ちょうど半分のところの上下の値の平均値になります。
%% 2 で2で割った余りを計算して、これが0なら偶数の個数、そうでないなら奇数と判断しています。
geometric mean, 幾何平均は全てのデータを掛けてそれをデータの個数分の平方根?だそうですが、exp(mean(log(x)))で計算できるそうです。
harmonic mean 調和平均はこのようにして計算します。
東京から大阪まで行きは時速100キロ、帰りは時速200キロで移動したときの平均速度は?という質問の答えがこのharmonic meanだそうです。
boxplot関数で箱ひげ図を描いてみます。
黄色の中央値と青の幾何平均がほとんど同じでわからないですね。
1.0以上の値をはずして箱ひげ図を描いてみます。
ZaiAll[ZaiAll < 1]とすると、1.0以上の値は除外できます。
今回は以上です。