2015年4月1日水曜日

つまずかないR言語入門(関数applyをつかったプログラム。applyは使い勝手が良い)

前回、R言語でのプログラミングの試行をしてみた。
今回は、「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)

187618771878187918801891
13.5750013.9666713.6250014.4333313.8916713.59167
と表示されてます。

apply関数は使いこなすとかなり便利だと思います。

次回は、縦方向の列の計算を試行してみます。

----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------

0 件のコメント:

コメントを投稿