x <- c(-2,-1,0,1,2);  y <- c(4,1,0,1,4)
### Fino a ### calcolo il COEFF. di CORREL., nel caso di approssimaz. con funz.
# POLINOMIALI di 1 e 2 GRADO, di quanto messo in x <- c(.); y <- c(.)
n <- length(x)
plot(x,y)
abline(v=axTicks(1), h=axTicks(2), col="blue",lty=3)
cor(x,y) # 1 grado
a <- sum(x); b <- sum(x^2); c <- sum(x^3); d <- sum(x^4)
e <- sum(y); f <- sum(x*y); g <- sum(x*x*y)
ma <- matrix(data = c(n,a,b,a,b,c,b,c,d), nrow = 3, ncol = 3)
noti <- matrix(data = c(e,f,g), nrow = 3, ncol = 1)
S <- solve(ma,noti)
F <- function(x) S[1]+S[2]*x+S[3]*x^2
curve(F,add=TRUE,col="blue")
# Ecco come determinare il coeff. di correlazione:
Sr <- sum((y-F(x))^2) # somma dei quadrati dei degli scarti di y da F(x)
Sm <- sum((y-mean(y))^2) # somma dei quadrati degli scarti di y da M(y)
CoeffCorr <- sqrt((Sm-Sr)/Sm); CoeffCorr # 2 grado
###
# Ottengo:

#  1 grado:  0
#  2 grado:  1