今回はe-Stat(政府統計の総合窓口)から取得した、全国の植生自然度のデータを分析しようと思います。
これがe-Statのサイトの画像ですね。このデータをダウンロードすると、
こうなります。9行目は私が挿入した変数名です。
そもそも、植生自然度ってなんでしょうか?
ここをクリックすると定義がありました。
人間の影響がどの程度あるかどうかを示す指標のようです。現在は収集中止だそうです。
早速、データをR言語で読み込んで分析(の真似事)をしてみましょう。
str関数でデータの構造を確認します。
144の観測と13の変数です。Skipする変数があるので、実質は12の変数です。
head関数で始めの数行を表示してみます。
北海道を見るとL9が46.5%となっています。L1が一番人間の手が入っていて、L10が一番自然に近いということが推察されます。
と定義にありました。やっぱりそうですね。
まず、Skip行を削除しましょう。subset関数を使いました。
summary関数でデータの要約統計値を表示します。
Yearを見ると、1988年、1992年、1997年の3つの調査年があることがわかります。もう20年以上も前なんですね。年毎の平均値を見てみましょう。aggregate関数を使いましょう。
L1は1988年度は6.85が1997年度は7.23と増加していますが、その他はそれほど変動が無いように感じます。
次は、各都道府県ごとの平均値を見てみましょう。同じくaggregate関数を使います。
L1、市街地、造成地の割合が一番大きい都道府県はどこでしょうか?rev関数とorder関数をつかってデータフレームを並び替えます。
大阪ですね。東京、神奈川、愛知、埼玉、福岡と続きます。
その反対にL1の割合が一番小さい都道府県はどこでしょうか?
高知が一番、市街地が少ないですね。徳島、北海道、山形、宮崎、島根と続きます。
定義を見ると、L6が植生地、L9が自然林、L10が自然草原でこの三つが人間の手が加わってない場所のようです。この3つを合わせた値が一番大きい都道府県はどこでしょうか?
まず、L6+L9+L10を計算します。
それでは、この新しく作成した変数、L6910の大きい都道府県はどこか調べてみましょう。
北海道が一番です。奈良、宮崎、鹿児島、和歌山、高知と続きます。
反対に小さい都道府県はどこでしょうか?
広島が一番です。大阪、香川、岡山、滋賀、神奈川と続きます。東京が入ってないのと広島が一番というのは意外でした。
今回は以上です。
今回のR言語のコードです。
# データファイル(shokusei_shizendo.csv)の読込み
df <- read.csv("shokusei_shizendo.csv", skip = 8, na.strings = c("***", "-", "X") )
# str関数でデータ構造の確認
str(df)
# head関数で始めの数行を表示
head(df)
# Skip列を削除
df <- subset(df, select = -Skip)
# summary関数でデータの要約統計値を表示
summary(df)
# aggregate関数で年度ごとの平均値
aggregate(df[ , -c(1,2)], list(年度 = df$Year), mean)
# aggregate関数で各都道府県ごとの平均値
df_Pref <- aggregate(df[ , -c(1, 2)], list(地域 = df$Pref), mean)
head(df_Pref)
# L1の大きい都道府県はどこか?
head(df_Pref[rev(order(df_Pref$L1)), ])
# L1の小さい都道府県はどこか?
head(df_Pref[order(df_Pref$L1), ])
# L6+L9+L10の作成
df_Pref$L6910 <- df_Pref$L6 + df_Pref$L9 + df_Pref$L10
# L6910の大きい都道府県はどこか?
head(df_Pref[rev(order(df_Pref$L6910)), c("地域", "L6910", "L6", "L9", "L10")])
# L6910の小さい都道府県はどこか?
head(df_Pref[order(df_Pref$L6910), c("地域", "L6910", "L6", "L9", "L10")])