Files
R/script.R

49 lines
1.0 KiB
R

var1 = function(x) {
return(mean(x**2)-mean(x)**2)
}
var2 = function(x,n) {
return(weighted.mean(x**2,n)-weighted.mean(x,n)**2)
}
sd1 = function(x) {
return(sqrt(var1(x)))
}
sd2 = function(x,n) {
return(sqrt(var2(x,n)))
}
covariance = function(x,y){
return(sum((x-mean(x))*(y-mean(y)))/length(x))
}
# correlation = function(x, y) {
# return(covariance(x,y)/(sd1(x) * sd1(y)))
# }
droite_yx = function(x, y) {
m = covariance(x,y) / var1(x)
p = mean(y) - m*mean(x)
return (c(m, p))
}
droite_xy = function(x, y) {
m = covariance(x, y) / var1(y)
p = mean(x) - m * mean(y)
return (c(m, p))
}
reg_yx <- droite_yx(x, y)
reg_xy <- droite_xy(x, y)
plot(x, y,
main = "Régression Vitesse vs Distance de freinage",
xlab = "Vitesse (km/h)",
ylab = "Distance de freinage (m)",
pch = 19, col = "blue", cex = 1.2)
abline(a = reg_yx[2], b = reg_yx[1], col = "red", lwd = 1)
abline(a = -reg_xy[2]/reg_xy[1], b = 1/reg_xy[1], col = "purple", lwd = 1)