So verwenden sie aline() in r, um gerade linien zu diagrammen hinzuzufügen


Die Funktion abline() in R kann verwendet werden, um einer Handlung in R eine oder mehrere gerade Linien hinzuzufügen.

Diese Funktion verwendet die folgende Syntax:

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

Gold:

  • a, b: eindeutige Werte, die den Ursprung und die Steigung der Linie angeben
  • h: der y-Wert für die horizontale Linie
  • v: der x-Wert für die vertikale Linie

Die folgenden Beispiele zeigen, wie Sie diese Funktion in der Praxis nutzen können.

So fügen Sie horizontale Linien hinzu

Der grundlegende Code zum Hinzufügen einer horizontalen Linie zu einem Diagramm in R lautet: abline(h = irgendein Wert)

Angenommen, wir haben das folgende Streudiagramm, das die Werte von x und y in einem Datensatz anzeigt:

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

Um eine horizontale Linie beim Wert y = 20 hinzuzufügen, können wir den folgenden Code verwenden:

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

Der folgende Code veranschaulicht, wie eine durchgezogene horizontale Linie zum Durchschnittswert von y und zwei horizontale gepunktete Linien eine Standardabweichung über und unter dem Durchschnittswert hinzugefügt werden:

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

So fügen Sie vertikale Linien hinzu

Der grundlegende Code zum Hinzufügen einer vertikalen Linie zu einem Diagramm in R lautet: abline(v = irgendein Wert)

Der folgende Code zeigt, wie man dem Durchschnittswert in einem Histogramm eine vertikale Linie hinzufügt:

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

So fügen Sie Regressionslinien hinzu

Der grundlegende Code zum Hinzufügen einer einfachen linearen Regressionslinie zu einem Diagramm in R lautet: abline(model)

Der folgende Code zeigt, wie man einem Streudiagramm eine angepasste lineare Regressionslinie hinzufügt:

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

Beachten Sie, dass wir lediglich einen Wert für den Achsenabschnitt und die Steigung benötigen, um mit der Funktion abline() eine einfache lineare Regressionslinie an die Daten anzupassen.

Eine andere Möglichkeit, mit abline() eine Regressionslinie hinzuzufügen, besteht darin, den Original- und Steigungskoeffizienten des Regressionsmodells explizit anzugeben:

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

Beachten Sie, dass dadurch dieselbe Zeile wie zuvor erzeugt wird.


Weitere R-Tutorials finden Sie auf dieser Seite .

Einen Kommentar hinzufügen

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