crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

国民経済計算四半期GDP速報データの分析1 - R言語のread.csv関数でデータを読み込み、分析しやすいようにデータを整える。

今回は、国民経済計算四半期GDP速報のデータをR言語のread.csv関数で読み込んでみたいと思います。

f:id:cross_hyou:20190413102954j:plain

https://www.e-stat.go.jp/dbview?sid=0003109741

このサイトからファイルをダウンロードしました。

f:id:cross_hyou:20190413103147j:plain

こういうファイルです。13行目だけ私が英語の変数名を付け足しています。

このファイルをread.csv関数で読込みます。

read.csv("ファイル名.csv")だと1行目から読み込まれてしまうので、skip = 12というオプションを付けて13行目から読込みます。

また、***や - や ーは数字が得られないものということなので、na.strings = c("***", "-", "ー")というオプションを加えてこれらの文字が入っているセルはNAになるように読込みます。

f:id:cross_hyou:20190413104449j:plain

このように始めの12行をスキップして、13行目から読み込むことができました。

Skip1とSkip2の変数はいらないので削除します。

f:id:cross_hyou:20190413104819j:plain

Timeをもう少し簡単にしたいですね。1994000103は1994年の1月から3月期、つまり1994年の第1四半期ですから、1994年のQ1ですね。数字にすると、1994.125が1994年Q1で、1994.375が1994年Q2で、1994.625が1994年Q3で1994.875が1994年Q4です。

とりあえず、このTimeからYearを作成します。

f:id:cross_hyou:20190413105745j:plain

お、うまくいきました。あとは、0.125, 0.375, 0.625, 0.875を足していけばいいですね。R言語はこういうのは簡単です。

f:id:cross_hyou:20190413110133j:plain

R言語は違う長さのベクトルの足し算は、短いベクトルを繰り返して長いベクトルに合わせて計算してくれますからね。

こうして作成したYearをdf$Timeと置き換えてしまいましょう。

f:id:cross_hyou:20190413110747j:plain

TimeJはもういらないので、削除してしまいましょう。

f:id:cross_hyou:20190413111013j:plain

はい、できました。

今回は以上です。

 次回は

 

www.crosshyou.info

 

です。

 

今回のR言語のコードです。


# データの読込み
df <- read.csv("gdp.csv", skip = 12, na.strings = c("***", "-", "-"))
head(df)

# Skip1とSkip2の削除
df <- df[ , -c(1, 2)]
head(df)

# Yearの作成
Year <- round(df$Time / 1000000, 0)
head(Year)

# Yearに小数点以下を足し算
Year <- Year + c(0.125, 0.375, 0.625, 0.875)
head(Year)
tail(Year)

# TimeをYearと置き換え
df$Time <- Year
head(df)

# TimeJを削除
df <- df[ , -2]
head(df)