単純な線形相関を1年生に(視覚的に)説明する方法を探しています。
視覚化する古典的な方法は、Y〜X散布図に直線回帰直線を与えることです。
最近、プロットに3つの画像を追加してこのタイプのグラフィックスを拡張するというアイデアに思いつきました:y〜1の散布図、次にy〜xの散布図、resid(y〜x)〜x、そして最後に残差の(y〜x)〜1(平均値の中心)
このような視覚化の例を次に示します。
そしてそれを生成するRコード:
set.seed(345)
x <- runif(50) * 10
y <- x +rnorm(50)
layout(matrix(c(1,2,2,2,2,3 ,3,3,3,4), 1,10))
plot(y~rep(1, length(y)), axes = F, xlab = "", ylim = range(y))
points(1,mean(y), col = 2, pch = 19, cex = 2)
plot(y~x, ylab = "", )
abline(lm(y~x), col = 2, lwd = 2)
plot(c(residuals(lm(y~x)) + mean(y))~x, ylab = "", ylim = range(y))
abline(h =mean(y), col = 2, lwd = 2)
plot(c(residuals(lm(y~x)) + mean(y))~rep(1, length(y)), axes = F, xlab = "", ylab = "", ylim = range(y))
points(1,mean(y), col = 2, pch = 19, cex = 2)
これが私の質問につながります:このグラフを拡張する方法(テキスト、マーク、または他の種類の関連する視覚化のいずれか)についての提案をいただければ幸いです。関連するRコードを追加するのも良いでしょう。
1つの方向は、R ^ 2のいくつかの情報を追加することです(テキストまたは何らかの方法でxの導入前後の分散の大きさを表す線を追加することにより)。別のオプションは、1つの点を強調表示して、それがどのように「より良い」かを示すことです説明された」回帰直線のおかげで。任意の入力をいただければ幸いです。
require(mlbench) ; cor( mlbench.smiley()$x ); plot(mlbench.smiley()$x)