Come utilizzare aline() in r per aggiungere linee rette ai grafici


La funzione abline() in R può essere utilizzata per aggiungere una o più linee rette a un grafico in R.

Questa funzione utilizza la seguente sintassi:

abline(a=NULL, b=NULL, h=NULL, v=NULL, …)

Oro:

  • a, b: valori univoci che specificano l’origine e la pendenza della linea
  • h: il valore y per la linea orizzontale
  • v: il valore x per la linea verticale

I seguenti esempi mostrano come utilizzare questa funzione nella pratica.

Come aggiungere linee orizzontali

Il codice di base per aggiungere una linea orizzontale a un grafico in R è: abline(h = qualche valore)

Supponiamo di avere il seguente diagramma a dispersione che mostra i valori di xey in un set di dati:

 #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)

Per aggiungere una linea orizzontale al valore y = 20, possiamo usare il seguente codice:

 abline(h = 20, col = 'coral2', lwd = 2)

Il codice seguente illustra come aggiungere una linea orizzontale continua al valore medio di y e due linee tratteggiate orizzontali una deviazione standard sopra e sotto il valore medio:

 #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)

Come aggiungere linee verticali

Il codice di base per aggiungere una linea verticale a un grafico in R è: abline(v = qualche valore)

Il codice seguente mostra come aggiungere una linea verticale al valore medio su un istogramma:

 #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)

Come aggiungere linee di regressione

Il codice di base per aggiungere una semplice linea di regressione lineare a un grafico in R è: abline(model)

Il codice seguente mostra come aggiungere una linea di regressione lineare adattata a un grafico a dispersione:

 #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")

Tieni presente che abbiamo semplicemente bisogno di un valore per l’intercetta e la pendenza per adattare una semplice linea di regressione lineare ai dati utilizzando la funzione abline().

Quindi, un altro modo per utilizzare abline() per aggiungere una linea di regressione è specificare esplicitamente i coefficienti originali e di pendenza del modello di regressione:

 #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")

Nota che questo produce la stessa linea di prima.


Puoi trovare altri tutorial su R in questa pagina .

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *