Comment utiliser abline() dans R pour ajouter des lignes droites aux tracés
La fonction abline() dans R peut être utilisée pour ajouter une ou plusieurs lignes droites à un tracé dans R.
Cette fonction utilise la syntaxe suivante :
abline(a=NULL, b=NULL, h=NULL, v=NULL, …)
où:
- a, b : valeurs uniques qui spécifient l’origine et la pente de la ligne
- h : la valeur y pour la ligne horizontale
- v : la valeur x pour la ligne verticale
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Comment ajouter des lignes horizontales
Le code de base pour ajouter une ligne horizontale à un tracé dans R est : abline(h = some value)
Supposons que nous ayons le nuage de points suivant qui affiche les valeurs de x et y dans un ensemble de données :
#define dataset data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11), y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41)) #plot x and y values in dataset plot(data$x, data$y, pch = 16)
Pour ajouter une ligne horizontale à la valeur y = 20, on peut utiliser le code suivant :
abline(h = 20, col = 'coral2', lwd = 2)
Le code suivant illustre comment ajouter une ligne continue horizontale à la valeur moyenne de y ainsi que deux lignes pointillées horizontales à un écart type au-dessus et en dessous de la valeur moyenne :
#create scatterplot for x and y plot(data$x, data$y, pch = 16) #create horizontal line at mean value of y abline(h = mean(data$y), lwd = 2) #create horizontal lines at one standard deviation above and below the mean value abline(h = mean(data$y) + sd(data$y), col = 'steelblue', lwd = 3, lty = 2) abline(h = mean(data$y) - sd(data$y), col = 'steelblue', lwd = 3, lty = 2)
Comment ajouter des lignes verticales
Le code de base pour ajouter une ligne verticale à un tracé dans R est : abline(v = some value)
Le code suivant illustre comment ajouter une ligne verticale à la valeur moyenne sur un histogramme :
#make this example reproducible set.seed(0) #create dataset with 1000 random values normally distributed with mean = 10, sd = 2 data <- rnorm(1000, mean = 10, sd = 2) #create histogram of data values hist(data, col = 'steelblue') #draw a vertical dashed line at the mean value abline(v = mean(data), lwd = 3, lty = 2)
Comment ajouter des lignes de régression
Le code de base pour ajouter une simple ligne de régression linéaire à un tracé dans R est : abline(model)
Le code suivant illustre comment ajouter une droite de régression linéaire ajustée à un nuage de points :
#define dataset data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11), y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41)) #create scatterplot of x and y values plot(data$x, data$y, pch = 16) #fit a linear regression model to the data reg_model <- lm(y ~ x, data = data) #add the fitted regression line to the scatterplot abline(reg_model, col="steelblue")
Notez que nous avons simplement besoin d’une valeur pour l’ordonnée à l’origine et la pente pour ajuster une simple ligne de régression linéaire aux données à l’aide de la fonction abline().
Ainsi, une autre façon d’utiliser abline() pour ajouter une droite de régression consiste à spécifier explicitement les coefficients d’origine et de pente du modèle de régression :
#define dataset data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11), y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41)) #create scatterplot of x and y values plot(data$x, data$y, pch = 16) #fit a linear regression model to the data reg_model <- lm(y ~ x, data = data) #define intercept and slope values a <- coefficients(reg_model)[1] #intercept b <- coefficients(reg_model)[2] #slope #add the fitted regression line to the scatterplot abline(a=a, b=b, col="steelblue")
Notez que cela produit la même ligne que précédemment.
Vous pouvez trouver plus de didacticiels R sur cette page .