Rでデータ読み込み2(データの読み込みと処理)


Rでデータ読み込み1」の回では、まず作業ディレクトリの変更を確認しました。

こんなの当たり前だろ!という声もあるかと思いますが、以外と忘れがちですし、これがないと全く先に進めません。(うっかり完全に忘れていて、イライラし続けることも多々あります)

では、本題のデータ読み込みのコマンドです。

data_name <- read.table("ファイル名")

これが、基本的なデータ読み込みのコマンドです。このほかにも「read.csv」とかもありますが、ほとんどがread.tableで対応可能です。

今回は、具体的なデータとして、日本の実質GDPを用いようと思います。

出所:内閣府HP 国民経済計算(GDP統計)

http://www.esri.cao.go.jp/jp/sna/menu.html

 

このページにある「年次別GDP実額(実質)」をダウンロードします。中身を開いてみると、あーだこーだデータが入っているので、以下のように必要な項目だけ取り出し、年次は簡略化してcsv保存します。

※ダウンロードした元データの数値が値になっていない場合があるので、エクセル関数「asc()」を用いて数値化することが必要。こうゆう作業がデータサイエンティストにとって最も重要だったりする(>o<)

f:id:demacassette:20150118014108p:plain

所定のデータが作れたら、Rに読み込ませます。

#ファイル名「real_GDP.txt」を読み込み

#カンマ区切りで読み込み :sep=","
#1行目はヘッダーとして読み込み :header=T
GDP <- read.table("in_data/real_GDP.txt",sep=",",header=T)

これを実行して、何もエラーが出なかったら大したもんです。基本、何らかのエラーが出ると覚悟しています。

エラーのほとんどは、ディレクトリ名指定かファイル名指定の間違いです。あとは、オプションでつけている「カンマ区切り指定」、「1行目はヘッダーとして読み込む」などがマッチしていない場合です。

うまく読み込めたら、データが入っているか確認します。

> GDP
year GDP_billion
1 1994 447167.4
2 1995 459057.6
3 1996 471311.4
4 1997 472005.5
5 1998 464970.4
6 1999 467481.1
7 2000 476723.3
8 2001 474685.4
9 2002 479870.8
10 2003 490755.9
11 2004 497912.6
12 2005 507158.0
13 2006 516038.2
14 2007 525469.9
15 2008 505794.7
16 2009 495497.8
17 2010 512422.5
18 2011 514412.7
19 2012 519631.8
20 2013 530591.5

Rコンソール内での表示は、半角スペース?区切りでの表示なので少々見にくい印象ですが、それは文句言っても仕方ありません。うまく読み込めたら、得意のお手軽プロットを用いて、グラフ化します。

#お手軽プロット
plot(GDP[ ,1],GDP[ ,2],type="b",xlab=colnames(GDP)[1],ylab=colnames(GDP)[2])

すると、こんな図が。

f:id:demacassette:20150118014823p:plain

どうでしょう。xlab=""の部分は変数で指定することができます。今回は、GDPデータのタイトル行がありますので、それをそのままラベルにしています。colnames()はデータに与えられた列名を返すコマンドです。

> colnames(GDP)
[1] "year" "GDP_billion"
> colnames(GDP)[1]
[1] "year"
> colnames(GDP)[2]
[1] "GDP_billion"

ってな感じです。この値もリスト(ベクトル)のように扱えますので、1番目の値、2番目の値など必要な要素を抽出することができます。この機能を用いて、グラフのラベルを設定すると、データ作成時からデータを表現するまでに間違いが少なく処理できるのではないかと思います。

 

次回、読み込んだデータを少し計算処理して、書き出すところまで行きたいです。