Hoe aline() in r te gebruiken om rechte lijnen aan plots toe te voegen


De functie abline() in R kan worden gebruikt om een of meer rechte lijnen toe te voegen aan een plot in R.

Deze functie gebruikt de volgende syntaxis:

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

Goud:

  • a, b: unieke waarden die de oorsprong en helling van de lijn specificeren
  • h: de y-waarde voor de horizontale lijn
  • v: de x-waarde voor de verticale lijn

De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken.

Horizontale lijnen toevoegen

De basiscode voor het toevoegen van een horizontale lijn aan een plot in R is: abline(h = een bepaalde waarde)

Stel dat we het volgende spreidingsdiagram hebben dat de waarden van x en y in een gegevensset weergeeft:

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

Om een horizontale lijn toe te voegen met de waarde y = 20, kunnen we de volgende code gebruiken:

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

De volgende code illustreert hoe u een ononderbroken horizontale lijn toevoegt aan de gemiddelde waarde van y en twee horizontale stippellijnen één standaardafwijking boven en onder de gemiddelde waarde:

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

Hoe verticale lijnen toe te voegen

De basiscode voor het toevoegen van een verticale lijn aan een plot in R is: abline(v = een bepaalde waarde)

De volgende code laat zien hoe u een verticale lijn toevoegt aan de gemiddelde waarde op een histogram:

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

Hoe u regressielijnen toevoegt

De basiscode voor het toevoegen van een eenvoudige lineaire regressielijn aan een plot in R is: abline(model)

De volgende code laat zien hoe u een aangepaste lineaire regressielijn aan een spreidingsdiagram toevoegt:

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

Merk op dat we eenvoudigweg een waarde nodig hebben voor het snijpunt en de helling om een eenvoudige lineaire regressielijn aan de gegevens te laten passen met behulp van de functie abline().

Een andere manier om abline() te gebruiken om een regressielijn toe te voegen, is door expliciet de originele en hellingscoëfficiënten van het regressiemodel te specificeren:

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

Merk op dat dit dezelfde lijn oplevert als voorheen.


Op deze pagina vindt u meer R-tutorials.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert