Regresion <- function(Y, X, representacion=TRUE) { mediaX <- mean(X) varianzaX <- var(X) mediaY <- mean(Y) varianzaY <- var(Y) covarianza <- cov(Y, X) pendiente <- covarianza/varianzaX independiente <- mediaY - pendiente*mediaX coeficientedeterminacion <- (covarianza^2)/(varianzaX*varianzaY) correlacion <- sqrt(coeficientedeterminacion) estimacion <- independiente + pendiente * X errores <- Y - estimacion par <- cbind(X, Y, estimacion, errores) resultado <- list(mediaX, varianzaX, mediaY, varianzaY, covarianza, correlacion, coeficientedeterminacion, independiente, pendiente, par) names(resultado) <- c("Media variable independiente", "Varianza variable independiente", "Media variable dependiente", "Varianza variable dependiente", "Covarianza", "Correlación", "Coeficiente Determinacion", "Término Independiente", "Pendiente", "Valores reales, estimación y errores") #represento los puntos y la recta calculada if (representacion==TRUE) { plot(X, Y, type="o", col="blue", las=2, main="Representación de datos reales (azul) y estimados (rojo)") abline(independiente, pendiente, lty=2, col="red") win.graph() plot(X, errores, type="b", col="red", main="Representación de los errores (rojo)") abline(0, 0, lty=2) } resultado }