の続きです。
今回は、tidymodelsパッケージを使ってみようと思います。
https://www.tidymodels.org/start/models/
このサイトを参考にしてみます。
このサイトはウニの大きさ(数値データ)をもともとの大きさ(数値データ)と食べ物の種類(3種類のファクターデータ)で回帰分析しています。
同じように、basic(数値データ)をurban_rate(数値データ)とyear(2000年、2009年、2017年の3つのファクターデータにします)で回帰分析してみます。
まず、tidymodelsを読み込みます。
まず、分析に使うデータだけに絞ったデータフレームを作成しておきましょう。
glimpse関数でbunseki_dataを確認します。
glimpse関数はdplyrパッケージの中の関数で、str関数のような働きをします。ファクターや文字列でも""(ダブルクォーテーション)を使わないで出力しますので見やすいです。
まず、分析したいデータの散布図を描いてみます。
ggplot2パッケージの中のgeom_point関数とgeom_smooth関数を使います。
geom_smooth関数はmethod = "lm"として線形回帰分析の線を書きます。
年によって直線の傾きが違いますね。
linear_reg()とset_engineで回帰分析モデルを作ります。
fit関数でデータをモデルにフィットさせます。
lm_fitを見てみます。
切片と各変数の係数が表示されています。
tidy関数を使うともう少しわかりやすく表示します。
urban_rateのp-valueは8.73e-19なので0.05以下ですがその他はyear2017だけが2.88e-2, 0.0288で0.05以下です。他は有意な変数では無いようですね。
urban_rateが25のときのbasicの予想をしてみましょう。
expand.grid関数で新しいデータフレームを作成します。
predict関数で予測ができます。
predict関数で、type = "conf_int"とすると信頼区間も作れます。
mean_predとconf_int_predをbind_cols関数でnew_pointsに合体させます。
こうして作成したデータをもとにしてグラフを描きましょう。
こうしてみると、2009年と2017年ではあまり差が無いですね。
今回は以上です。