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