Régression linéaire simple avec R
Dans la continuité du précédent billet, en utilisant le même jeu de données, je réalise cette fois-ci la régression linéaire avec R.
Chargement et préparation des données
Les données sont chargées dans un dataframe auquel on adjoint un champ DMA en faisant la somme (via apply) des autres quantités:
> dechets <- read.csv2("C:/RTI/Stats/dechets_2013_par_dept.csv", stringsAsFactors=F)
> dechets <- dechets[dechets$Departement != "France",]
> dechets$DMA <- apply(dechets[,(3:9)],1,sum, na.rm=T)
>
Réalisation de la régression linéaire
On peut noter que l’on retrouve les mêmes coefficients qu’avec les fonctions Oracle REGR_SLOPE, REGR_INTERCEPT & REGR_R2:
> res <- lm(DMA~Population.totale.desservie, data=dechets)
>
> summary(res)
Call:
lm(formula = DMA ~ Population.totale.desservie, data = dechets)
Residuals:
Min 1Q Median 3Q Max
-289411 -34913 -17616 42107 216689
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.354e+04 1.314e+04 2.553 0.0122 *
Population.totale.desservie 5.405e-01 1.641e-02 32.933
> coef(res)
(Intercept) Population.totale.desservie
3.353637e+04 5.405394e-01
>
Affichage du nuage de points et de la droite de régression
On peut enfin représenter notre échantillon ainsi que la droite de régression afin d’appréhender visuellement l’adéquation de la droite de régression avec les données collectées:
> plot(dechets$Population.totale.desservie,dechets$DMA, main="Tonnes de déchets ménagers et assimilés par habitants", pch=20, xlab="Nombre d'habitants", ylab="Tonnes de DMA") > abline(res, col="red", lwd=3)
