Rでデータを可視化する

1ページ 2ページ

前後の関連性

【発展】postをy軸、preをx軸にした散布図

横軸に練習前、縦軸に練習後の血圧を表示します。赤い回帰直線は、点の並びの傾向を表す線です。lm(post ~ pre, data = data)で直線を求め、abline()で図に重ねます。回帰分析の詳しい説明は発展的な内容として扱います。

JavaScript
# 散布図と回帰直線の描画
plot(
  data$pre, data$post, 
  main = "散布図と回帰直線",
  xlab = "Pre", ylab = "Post",
  pch = 19, col = "blue"
)

# 回帰直線を引くためにlm関数を使用
# abline関数で描画
abline(lm(post ~ pre, data = data), col = "red", lwd = 2)

前後差をy軸、preをx軸にした散布図

練習後の血圧から練習前の血圧を引き、変化量を求めます。正の値は上昇、負の値は低下、0は変化がなかったことを表します。横軸は練習前の血圧、縦軸は変化量です。変化量の計算にもpreを使うため、この図の傾向だけで「開始時の血圧が変化を引き起こす」と判断しないでください。

JavaScript
y <- data$post - data$pre
# 練習前の血圧と変化量の散布図
plot(
  data$pre, y, 
  main = "練習前の血圧と変化量",
  xlab = "pre", ylab = "post-pre",
  pch = 19, col = "blue"
)

【発展】前後差をy軸、preをx軸にした散布図(他の変数の情報を追加)

発展課題:text()で、各点の近くに曜日・時間帯・場所を表示します。paste()は複数の文字をつなぐ関数です。pos = 4は点の右側に文字を置く指定です。文字が重なる場合は、グラフのウィンドウを広げて確認してください。

R
#余白の調整
par(mar = c(5, 5, 5, 10))

# yをpost - preとする
y <- post - pre
x <- data$pre

# 散布図の描画
plot(
  x, y, 
  main = "preと(post - pre)の散布図",
  xlab = "pre", ylab = "post - pre",
  pch = 19,
  col = "blue"
)

# day, time, placeの情報をラベルとして追加
text(
  x, y, 
  labels = paste(data$day, data$time, data$place, sep = ", "), 
  pos = 4, cex = 0.8, 
  xpd = TRUE
)

par(mar = c(5.1, 4.1, 4.1, 2.1))

タイトルとURLをコピーしました