Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の農家1戸当たりの米の年間供給量等のデータの分析2 - lm()関数で単回帰分析

www.crosshyou.info

の続きです。前回はエクセルに保存してあるデータをRに読み込みました。今回は読み込んだデータをみていきます。

まず、summary()関数で各変数の統計値を確認します。

あれ!?siryoとkakoが数値データでなくて、文字列データとして処理されていますね。

ちょっとみてみます。

NAがNAとして処理されなくて、文字列のNAとして読み込まれていたのですね。parse_number()関数で数値型の変数になおします。

siryoはNAが32個、kakoはNAが9個ありますね。どちらも最小値は0なので、0とNAは違うのですね。

stotal: 供給量合計とdtotal: 需要量合計の散布図を描いてみます。

北海道の農家は規模が他の都府県とは全く違いますね。長崎県の農家は、供給量と比べると、需要量が多いようです。

dtoalを被説明変数にして、stotalを説明変数にして回帰分析をしてみます。

p-valueはほとんど0なのでdtotalとstotalには線形の関係がありますね。

対数変換した値でも回帰分析してみます。

log(stotal)の係数が0.26434なので、stotalが1%増えると、dtotalは0.264%増えるという解釈になります。

散布図を描いてみます。

今回は以上です。

次回は

www.crosshyou.info

です。

 

はじめから読むには、

www.crosshyou.info

です。

今回のコードは以下になります。

#
# df_rawのサマリー
summary(df_raw)
#
# siryo, kakoの確認
df_raw |> select(siryo, kako)
#
# siryo, kakoを数値型にする
df_raw <- df_raw |> 
  mutate(siryo = parse_number(siryo, na = "NA"),
         kako = parse_number(kako, na = "NA"))
df_raw |> select(siryo, kako) |> 
  summary()
#
# stotalとdtoal
df_raw |> 
  ggplot(aes(x = stotal, y = dtotal)) + 
  geom_point() +
  geom_text(aes(label = pref), vjust = 1.2) +
  theme_bw()
#
# dtotalをstotalで回帰分析
model1 <- lm(dtotal ~ stotal, data = df_raw)
summary(model1)
#
# 対数変換して回帰分析
model2 <- lm(log(dtotal) ~ log(stotal), data = df_raw)
summary(model2)
#
# log(dtotal), log(stotal)の散布図
df_raw |> 
  ggplot(aes(x = log(stotal), y = log(dtotal))) + 
  geom_point() +
  geom_text(aes(label = pref), vjust = 1.2) +
  geom_abline(intercept = coef(model2)[1], slope = coef(model2)[2],
              color = "red") +
  theme_bw()
#

(冒頭の画像は、Bing Image Creator で生成しました。プロンプトは Close up of golden flowers, under the blue sky, on the green grass field, photo です。)