So zeichnen sie ein konfidenzintervall in r auf


EinKonfidenzintervall ist ein Wertebereich, der wahrscheinlich einen Populationsparameter mit einem bestimmten Konfidenzniveau enthält.

In diesem Tutorial wird erklärt, wie man ein Konfidenzintervall für einen Datensatz in R darstellt.

Beispiel: Zeichnen eines Konfidenzintervalls in R

Angenommen, wir haben den folgenden Datensatz in R mit 100 Zeilen und 2 Spalten:

 #make this example reproducible
set.seed(0)

#create dataset
x <- rnorm(100)
y <- x*2 + rnorm(100)
df <- data.frame(x = x, y = y)

#view first six rows of dataset
head(df)

           xy
1 1.2629543 3.3077678
2 -0.3262334 -1.4292433
3 1.3297993 2.0436086
4 1.2724293 2.5914389
5 0.4146414 -0.3011029
6 -1.5399500 -2.5031813

Um ein Diagramm der Beziehung zwischen x und y zu erstellen, können wir zunächst ein lineares Regressionsmodell anpassen:

 model <- lm(y ~ x, data = df)

Als Nächstes können wir mit der Funktion abline() und der Funktionlines() ein Diagramm der geschätzten linearen Regressionslinie erstellen, um die tatsächlichen Konfidenzbänder zu erstellen:

 #get predicted y values using regression equation
newx <- seq(min(df$x), max(df$x), length.out=100)
preds <- predict(model, newdata = data.frame(x=newx), interval = 'confidence')

#create plot of x vs. y, but don't display individual points (type='n') 
plot(y ~ x, data = df, type = 'n')

#add fitted regression line
abline(model)

#add dashed lines for confidence bands
lines(newx, preds[,3], lty = 'dashed', col = 'blue')
lines(newx, preds[,2], lty = 'dashed', col = 'blue') 

Zeichnen eines Konfidenzintervalls in R

Die schwarze Linie zeigt die angepasste lineare Regressionslinie, während die beiden gestrichelten blauen Linien die Konfidenzintervalle zeigen.

Optional können Sie den Bereich zwischen den Konfidenzintervalllinien und der geschätzten linearen Regressionslinie auch mit dem folgenden Code füllen:

 #create plot of x vs. y
plot(y ~ x, data = df, type = 'n')

#fill in area between regression line and confidence interval
polygon(c(rev(newx), newx), c(rev(preds[,3]), preds[,2]), col = 'grey', border = NA)

#add fitted regression line
abline(model)

#add dashed lines for confidence bands
lines(newx, preds[,3], lty = 'dashed', col = 'blue')
lines(newx, preds[,2], lty = 'dashed', col = 'blue') 

Konfidenzintervalldiagramm in R

Hier ist der vollständige Code von Anfang bis Ende:

 #make this example reproducible
set.seed(0)

#create dataset
x <- rnorm(100)
y <- x*2 + rnorm(100)
df <- data.frame(x = x, y = y)

#fit linear regression model
model <- lm(y ~ x, data = df)

#get predicted y values using regression equation
newx <- seq(min(df$x), max(df$x), length.out=100)
preds <- predict(model, newdata = data.frame(x=newx), interval = 'confidence')

#create plot of x vs. y
plot(y ~ x, data = df, type = 'n')

#fill in area between regression line and confidence interval
polygon(c(rev(newx), newx), c(rev(preds[,3]), preds[,2]), col = 'grey', border = NA)

#add fitted regression line
abline(model)

#add dashed lines for confidence bands
lines(newx, preds[,3], lty = 'dashed', col = 'blue')
lines(newx, preds[,2], lty = 'dashed', col = 'blue')

Zusätzliche Ressourcen

Was sind Konfidenzintervalle?
So verwenden Sie die Funktion abline() in R, um gerade Linien zu Diagrammen hinzuzufügen

Einen Kommentar hinzufügen

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