49 lines
1.0 KiB
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) |