20131031Fuji1

Rによる気象データ解析 4


平均と標準偏差の計算

 前回は、Rに読み込んだデータフレームの各変数のヒストグラムを描くコマンドhist()とデータフレームの変数を直接扱うことができるようにするコマンドattachについて学んだ。今回は、前々回に学んだデータ概要を調べるsummaryコマンドで計算した平均や中央値を直接求めるコマンドや標準偏差を求めるコマンドについて学ぶ。

 データーは、やはり東京の2013年8月の日々の平均気温、最高気温、最低気温を用いる。

前回同様、Rのコンソールに

Tokyo.Temp<-read.table("t:\\R\\Book1.prn", header=T)

と打ち込み、続いて、

attach(Tokyo.Temp)

と打ち込む。平均値を求めるコマンドはmeanであるから、

mean(Ave.)

と打ち込むと、

[1] 29.18387

と打ち返された。summaryコマンドで表示された8月の平均気温の平均値は29.18であった。summaryでは多くの値を表にして示すので、有効数字の桁が小さい。

 中央値を求めるコマンドはmedianであり、

median(Ave.)

と打ち込むと、

[1] 29.6

と、平均値より少し大きな値が返された。summaryコマンドで表示された8月の平均気温の中央値は29.60と、小数点以下の有効桁数が2桁であった。

 次に最低気温の最小値を求めてみよう。最小値を求めるコマンドはminであるから、

min(Min.)

と打ち込むと、

[1] 20.3

と打ち返された。この値は計算値ではなくデータフレームに含まれる値そのものであるから、データフレームに入力した値そのものが返される。すなわち、小数点以下の有効数字は一桁である。一方summaryコマンドでは、この値も小数点以下2桁で表示されていた。続いて最高気温の最大値は、

max(Max.)

と打ち込むことで、

[1] 38.3

の値が得られる。データフレーム内の最大値を求めるには、

> max(Ave.,Max.,Min.)

と打ち込むと、

[1] 38.3

と返される。もちろん、この値は、最高気温の最大値と一致する。また、

min(Ave., Max., Min.)

と打ち込むと、

[1] 20.3

この値は、最低気温の最小値と一致する。

 調子に乗って、

mean(Ave.,Max.,Min.)

と打ち込むと、次のようなエラーメッセージが返された。

以下にエラー mean.default(Ave., Max., Min.) :
'trim' は長さ 1 の数値でなければなりません
追加情報: 警告メッセージ:
In if (na.rm) x <- x[!is.na(x)] :
条件が長さが 2 以上なので、最初の 1 つだけが使われます

 最小値や最大値はデータフレーム内の数字の検索だが、平均値は計算を行うので、異なる種類の変数間の平均値の計算はできないようだ。

 範囲を求めるコマンドはrangeで、

range(Ave.)

 と打ち込むと、

[1] 25.4 33.2

と返される。これは最小値と最大値を同時に求めることと同じである。東京の平均気温が33.2℃という極めて高い値となっている。2013年8月10日のことである。

range(Ave.,Max.,Min.)

と打ち込むと、

[1] 20.3 38.3

と打ち返され、先ほど求めたデータフレームすべての値の最大値と最小値と同じ値が得られる。

 最後に標準偏差を計算してみよう。コマンドはsdで、それぞれ次のような結果が得られた。打ち込んだコマンドと、その答えを順次示す。

sd(Ave.)

[1] 1.960799

sd(Max.)

[1] 2.29502

sd(Min.)

[1] 2.145182

 平均気温の標準偏差が一番小さく、最高気温の標準偏差が一番大きいことがわかる。

 今回は、データフレームの変数の「平均値」を求めるコマンドmean、「中央値」を求めるコマンドmedian、「最大値」を求めるコマンドmax、「最小値」を求めるコマンドmin、「範囲」を求めるコマンドrange、「標準偏差」を求めるコマンドsdについて学んだ。

(2013.11.1)
 



ホームに戻る << 1 2 3 4 5 6 7 8 9 10 11 12 13 14 >>

Counter