Como traçar um intervalo de confiança em r


Um intervalo de confiança é um intervalo de valores que provavelmente contém um parâmetro populacional com um certo nível de confiança.

Este tutorial explica como traçar um intervalo de confiança para um conjunto de dados em R.

Exemplo: traçando um intervalo de confiança em R

Suponha que temos o seguinte conjunto de dados em R com 100 linhas e 2 colunas:

 #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

Para criar um gráfico da relação entre xey, podemos primeiro ajustar um modelo de regressão linear:

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

A seguir, podemos criar um gráfico da linha de regressão linear estimada usando a função abline() e a função lines() para criar as faixas de confiança reais:

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

Traçando um intervalo de confiança em R

A linha preta mostra a linha de regressão linear ajustada enquanto as duas linhas azuis tracejadas mostram os intervalos de confiança.

Opcionalmente, você também pode preencher a área entre as linhas do intervalo de confiança e a linha de regressão linear estimada usando o seguinte código:

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

Gráfico de intervalo de confiança em R

Aqui está o código completo do início ao fim:

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

Recursos adicionais

O que são intervalos de confiança?
Como usar a função abline() em R para adicionar linhas retas aos gráficos

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *