Software R: algoritmo para regressão linear

Você precisa fazer a regressão linear de conjuntos de dados e avaliar seus parâmetros? O algoritmo abaixo permite que os dados sejam digitados ou colados diretamente do Excel, gerando a matriz dos dados, a equação matemática da regressão linear, o valor de R2 e o gráfico de dispersão com a reta da regressão.

# --------------------------------------------------------------------------------
#Função para gerar o gráfico de dispersão com a reta da regressão linear, a equação #da regressão e o valor do coeficiente de determinação

reg = function() {

cat("\n")
cat("Digite ou cole a partir do Excel os valores do eixo 'x'.", "\n")
cat("OBS: ao final, clique ENTER em um marcador vazio.", "\n", "\n")
x = scan()

cat("\n")
cat("Digite ou cole a partir do Excel os valores do eixo 'y'.", "\n")
cat("OBS: ao final, clique ENTER em um marcador vazio.", "\n", "\n")
y = scan()

#Dando nomes aos eixos 'x' e 'y'
cat("\n")
cat("Digite o nome do eixo 'x':", "\n")
cat("> ")
eixox = readLines(n=1)
cat("\n")
cat("Digite o nome do eixo 'y':", "\n")
cat("> ")
eixoy = readLines(n=1)
cat("\n")

#Mostrando a matriz de dados xy
cat("Tabela 1", "\n")
xy = cbind(x,y)
colnames(xy) = c(eixox, eixoy)
print(xy)
cat("\n")

#Dados numéricos da regressão linear
r = lm(y~x)
cat("Equação da reta (regressão linear): y =",r$coefficients[2],"x + (",r$coefficients[1],")","\n")
cat("R2 =", cor(x,y)^2, "\n", "\n")

#Construindo o gráfico com a regressão linear
plot(y~x, pch=16, col="blue", xlab=eixox, ylab=eixoy)
abline(r)
}

# --------------------------------------------------------------------------------

Veja o resultado do algoritmo para o seguinte conjunto de dados: