R/LineraRegressionPlot.R

library(UsingR)
data(galton)
library(manipulate)
myPlot <- function(beta){
     y <- galton$child - mean(galton$child)
     x <- galton$parent - mean(galton$parent)
     freqData <- as.data.frame(table(x, y))
     names(freqData) <- c("child", "parent", "freq")
     plot(
          as.numeric(as.vector(freqData$parent)),
          as.numeric(as.vector(freqData$child)),
          pch = 21, col = "black", bg = "lightblue",
          cex = .15 * freqData$freq,
          xlab = "parent",
          ylab = "child"
     )
     abline(0, beta, lwd = 3)
     points(0, 0, cex = 2, pch = 19)
     mse <- mean( (y - beta * x)^2 )
     title(paste("beta = ", beta, "mse = ", round(mse, 3)))
}
manipulate(myPlot(beta), beta = manipulate::slider(0.4, .8, step = 0.02))
ZellW/LearnPlotting documentation built on May 10, 2019, 1:57 a.m.