始める無料で始める

lmerモデルの結果を表示する

データサイエンティストには成果を伝える力が求められます。DataCampにはこのテーマに関するコースもあります。 自分の分析を説明することで、相手は結果を理解しやすくなります。 そのためには、相手の知識レベルや期待に合わせて説明の仕方を調整しましょう。

非技術者向けには、出力から得られた重要な発見を平易に伝えます。たとえば、母親の年齢が高い郡では出生率が低い傾向があります のようにまとめます。 技術者向けには、係数推定値、信頼区間、検定統計量などの詳細を含めます。 回帰出力の記述方法については、The Chicago Guide to Writing about Multivariate Analysis のような書籍に有用な提案があります。

この演習では、固定効果を抽出して可視化します。係数は geom_point() で、95%信頼区間は geom_linerange() でプロットします。さらに、ゼロの位置を視覚化しやすくするために geom_hline() で赤い基準線を追加します。95%信頼区間にゼロが含まれなければ、その係数推定値はゼロと有意に異なると解釈できます。

ggplot では xminxmax が使えず、yminymax のみ指定できるため、coord_flip() が必要です。また、theme_minimal() はデフォルトからテーマを変更します。

【技術メモ】lmer から回帰係数を抽出するのは少し難しく、lmerbroom の作者による議論が参考になります。

この演習はコースの一部です

R による階層モデルと混合効果モデル

コースを見る

演習の手順

  • broom.mixed パッケージの tidy() を使って、モデル out から係数を抽出します。信頼区間も含めてください。
  • 既存のコードを使って、ランダム効果の推定値をフィルタで除外します。
  • 係数テーブルを画面に表示します。
  • ggplot2 で出力をプロットします。x軸に term、y軸に estimateyminconf.lowymaxconf.high を指定します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Extract out the parameter estimates and confidence intervals
coef_estimates <-
	___(___, ___) %>%
	filter(effect == "fixed")

# Print the new dataframe
print(___)

# Plot the results using ggplot2
ggplot(coef_estimates, aes(x = ___, y = ___,
                     ymin = ___, ymax = ___)) +
    geom_hline( yintercept = 0, color = 'red' ) +
    geom_linerange() + geom_point() + coord_flip() + theme_minimal()
コードを編集して実行