Estou pesquisando como (visualmente) explicar correlação linear simples para alunos do primeiro ano.
A maneira clássica de visualizar seria fornecer um gráfico de dispersão Y ~ X com uma linha de regressão reta.
Recentemente, tive a idéia de estender esse tipo de gráfico adicionando ao gráfico mais 3 imagens, deixando-me com: o gráfico de dispersão de y ~ 1, depois de y ~ x, resid (y ~ x) ~ x e por último de resíduos (y ~ x) ~ 1 (centrado na média)
Aqui está um exemplo dessa visualização:
E o código R para produzi-lo:
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)
O que me leva à minha pergunta: eu gostaria de receber sugestões sobre como esse gráfico pode ser aprimorado (com texto, marcas ou qualquer outro tipo de visualização relevante). Adicionar código R relevante também será bom.
Uma direção é adicionar algumas informações do R ^ 2 (seja por texto ou de alguma forma adicionando linhas que apresentem a magnitude da variação antes e depois da introdução de x). Outra opção é destacar um ponto e mostrar como ele é "melhor". explicou "graças à linha de regressão. Qualquer entrada será apreciada.
require(mlbench) ; cor( mlbench.smiley()$x ); plot(mlbench.smiley()$x)