今回は、「apply」をつかったプログラミングを試してみた。
データを持ってくるのに、著作権の問題などありそうなので、
国土交通省気象庁の過去の気象データが公開されていたので、
そこから、東京の日平均気温の月平均値(℃)の数値を使わせてもらうこととした。
データはなんと1876年(明治9年)から、途切れなく記録 されている。
気象庁の歴史によれば、 1875年明治8年6月1日から、東京府第2大区(のち赤坂区)
溜池葵町内務省地理寮構内で 気象業務を開始(気象庁の前身東京気象台)、
地震観測と1日3回の気象観測を開始。 とあるので、丁度その翌年明治9年からデータがあるのも納得できる。
日本人て、几帳面で、江戸時代からわずか8年で、このような記録をのこしていたとは
驚きと、賞賛の気持ちになる。
閑話休題。
気温データをコピーして、メモ帳に貼り付けます。
この際、以前も言い訳しましたが、ヘッダー行の漢字が面倒なので、
1月→jan、2月→feb以下同様としています。
また、applyの効果を確かめやすくするので、元データから年の値(平均値) を、
手作業で削除しています。 こうして手を加えたデータを、"kion_b.txt"として、
作業フォルダーに 格納します。
Rを立ち上げて、
> b<-read.table("kion_b.txt",header=TRUE)
として、138年間×12ヶ月分の各月の平均気温を
変数bとして格納します。
次に、
> year.means<-apply(b,1,mean)
これで、year.means というベクトルに 138年間の年間平均気温が計算され格納されます。
apply に渡す最初の引数はデータフレーム(この場合b)です。
2番目の引数 1 は、一行ごとにまとめて関数に渡すことを意味します。
3番目の引数は関数名で、この場合は 平均値を求めるための"mean" です。
実際に、どうなっているかというと。
> head(year.means)
1876 | 1877 | 1878 | 1879 | 1880 | 1891 |
13.57500 | 13.96667 | 13.62500 | 14.43333 | 13.89167 | 13.59167 |
apply関数は使いこなすとかなり便利だと思います。
次回は、縦方向の列の計算を試行してみます。
----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------
0 件のコメント:
コメントを投稿