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.