R言語 CSVファイルを読み込む

CSVファイル

前回の記事はこちらです。

前回までの記事でいくつかの地域の平均気温などを求めてきました。平均を求めるのはコマンドひとつで求められるのに、何と言ってもデータを打ち込むのが面倒です。まだひと月くらいの平均気温を求めるくらいだったから打ち込む事が出来ましたが、もっとデータが増えると一つ一つデータを打ち込んでいたらキリがありません。

コンピュータを使った計算はもっとデータ数が多いのが当たり前で、R言語でも通常一つ一つデータを打ち込んでいくことは少ないです。

データの読み込み方として有名なのがCSVファイルを使く方法です。CSVファイルとはデータをカンマなど決まった記号で区切ったテキストファイルです。

テキストファイルなのでテキストエディタでも開く事が出来ます。Excelなどの表計算ソフトでもよく使われます。テキストファイルなのでいろいろなソフトで読み込みやすく、受け渡しには便利なのでインターネットでデータを配信するときにもCSVファイルはよく使われています。

作業ディレクトリ

R言語には作業ディレクトリというものがあります。これは名前の通り、R言語が今作業しているフォルダです。このフォルダにコマンド履歴や作った変数などが保存されます。ここに保存された変数などはR言語を一度閉じても残っているので、次回起動した時にそのまま使う事が出来ます。

R言語は保存も読み込みも作業ディレクトリが基本となっています。作業ディレクトリにあるファイルはファイル名を指定知るだけで読み込む事が出来ます。

データのファイル数が多くなると、フォルダ分けしてちゃんと管理した方がわかりやすいと思うのですが、今回はそれほどファイル数を使わないので、作業ディレクトリにCSVファイルを置いて読み込みたいと思います。

作業ディレクトリがわからない場合

作業ディレクトリがわからない場合はgetwdコマンドで分かります。おそらくgetのあとのwdはwork directoryの略なのでしょう。  作業(ワーク)ディレクトリを取得ということなのだと思います。私は英語がほぼ無知に近い状態ですが、英語が得意だとプログラムも英数字が使われていることもあり多少覚えやすい所があると思います。R言語を起動して

getwd()

と入力してエンターで作業ディレクトリが表示されるはずです。

CSVファイルのダウンロード

実際にCSVファイルを読み込みたいところですが、肝心のCSVファイルがないのでインターネットからダウンロードします。

気象庁から無料で過去の気象データをダウンロードする事が出来ます。今回はとりあえず気温を使ってみますが、他にも降水量、日照時間、風、気圧、湿度などいろいろなデータのCSVファイルをダウンロードする事が出来ます。地域も日本全国の地域のデータに加えて、南極のデータもダウンロードする事が出来ます。

南極はどこの国にも属さず、いろんな国が基地を作りいろいろな研究に使われているというのをテレビで見たことがあります。だから南極のデータが気象庁にあるのだと思います。

気象庁のだけでもこれだけたくさんのデータが簡単にネットから、ダウンロードできるのはとても便利です。気象庁からのデータだけでいろいろな計算が出来ます。

実際にダウンロードしてみたいと思います。気象庁のサイトにアクセスします。

サイトを開いたら、上部のメニューの「各種データ・資料」をクリックします。すると左の方に「過去の気象地点データ・ダウンロード」というのがあると思うのでそこをクリックします。

場所、項目、期間を自分で選んで必要なデータだけダウンロードできます。今回は場所は東京、項目は日平均気温、日最高気温、日最低気温、期間は2017/1/1~2017/12/31を選択しました。

このままでもいいのですが、今回は論文で使うのような厳密なデータを知りたいわけだはなく、やり方を学ぶ、計算の楽しさを知るのが目的です。このままだと今回は不要なデータが付いてきて計算しづらくなるのでオプションをいじります。

「表示オプションを選ぶ」をクリックします。「利用上注意が必要なデータの扱い」の項目では「値を表示(格納)しない」をチェックします。「観測環境など変化の前後で、値が不均質になったデータの扱い」の項目では「観測環境など変化前の値を表示(格納)しない」をチェックします。

選択したら右の方の「CSVファイルをダウンロード」ボタンでダウンロードできます。

CSVファイルを見てみる

ダウンロードしたファイルを見てみます。上で説明した通りCSVファイルはカンマなどで区切ったテキストファイルとして見ることもできます。まずはテキストエディタでテキストファイルとして見てみます。

ダウンロードしたファイルを右クリックします。プログラムから開く→メモ帳をクリックしてメモ帳で開いてみます。

データを見ることは出来ますが見づらいです。次は表計算ソフトで開いてみます。通常、CSVファイルは表計算ソフトで使うことが多いと思います。私は無料のオフィスソフトのopen officeを使用して開きました。open officeで開くと、開くときにインポート設定が表示されます。CSVファイルはopen office専用のファイル形式ではなく、細かい所がCSVファイルよって違います。だからどういう設定で読み込むのか聞いてきているのです。

下の方にプレヴューが表示されている場合は、それを見て文字化けしないでうまく表示される設定を選びます。とりあえず開いてみて、うまく表示される設定を探しても大丈夫です。

うまく表示されてCSVファイルがどんなものか確認できたら、R言語でCSVファイルを読み込んで使いやすくするために少し加工します。今回使うのに余分な所を削除します。

もう一度メモ帳で開きます。1~3、5行目を削除して保存します。

open officeでも同じようにデータ加工できますが、open officeでCSVファイルを保存すると区切り文字がカンマではなくなってしまいます。こうなるとR言語で簡単に読み込みが出来なくなります。open officeでカンマ区切りのCSVファイルを保存する方法やR言語でカンマ区切り以外のCSVファイルを読み込む方法などあるのかもしれませんが、私は知りません(笑)今回はメモ帳で加工した方が楽だと思います。

加工したファイルをR言語の作業ディレクトリに保存します。

R言語でCSVファイルを読み込む

いよいよ本題です。ここまで説明、下準備が長くなってしまいましたが、読み込むのは非常に簡単です。

R言語を起動します。上で作った作業ディレクトリの中にあるdata.csvファイルを読み込みたいと思います。

data<-read.csv(“data.csv”,header=T)

と入力してエンターで読み込む事が出来ます。dataという変数の中にdata.csvの中身が読み込まれました。これは変数名なので任意の名前です。自分で好きな変数名を付ける事が出来ます。read.csvコマンドでCSVファイルを読み込みます。()の中は””でくくって読み込むファイル名を指定しています。そのあとのheader=Tは最初の1行を列名として使うという命令です。ここでは「年月日 平均気温・・・」の部分が列名として読み込まれます。

実際に読み込まれているかdata変数の中身を見てみます。

data

と入力してエンターで中身を見ます。

年月日 平均気温… 最高気温… 最低気温…
2017/1/1 7.4 13.8 2.0
2017/1/2 7.2 13.3 3.8
2017/1/3 8.0 13.7 3.5
2017/1/4 8.5 14.0 3.6
2017/1/5 6.7 10.4 3.7
2017/1/6 4.5 8.8 1.5
2017/1/7 4.1 8.7 0.1
2017/1/8 3.9 6.0 1.6
2017/1/9 7.2 11.1 3.8・・・・・・

のようにちゃんとデータが格納されているのがわかると思います。

次回は

次回は読み込んだデータを使って計算してみたいと思います。