Como calcular intervalos de confiança de um conjunto de dados em R

Para encontrar os valores do intervalo de confiança de um determinado conjunto de dados vamos utilizar funções da biblioteca boot e para tal precisamos carregá-la no R:

> library(boot)

Agora definimos uma lista qualquer de valores para fazer os teste:

> lista = c(1,2,3,4,5,6)
> mean(lista)
[1] 3.5

Executamos a função boot pois o retorno dela é necessário para o passo seguinte que contém os valores do intervalo de confiança.

Estamos aqui utilizando a operação de média, que é definida na função boot.

> boot_resultado = boot(lista, function(x,j) mean(x[j]), R=1000) 
> boot_resultado

ORDINARY NONPARAMETRIC BOOTSTRAP

Call:

boot(data = lista, statistic = function(x, j) mean(x[j]), R = 1000)

Bootstrap Statistics :
 original bias std. error
t1* 3.5 0.0035 0.6858388

A função boot.ci utiliza os valores do resultado da função boot e nos retorna os valores do intervalo de confiança.

> boot.ci(boot_resultado)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates

CALL : 
boot.ci(boot.out = boot_resultado)

Intervals : 
Level Normal Basic 
95% ( 2.152, 4.841 ) ( 2.167, 4.833 )

Level Percentile BCa 
95% ( 2.167, 4.833 ) ( 2.133, 4.667 ) 
Calculations and Intervals on Original Scale
Warning message:
In boot.ci(boot_resultado) :
 bootstrap variances needed for studentized intervals

Aqui segue uma função que retorna uma lista com os valores do intervalo de confiança para tornar mais prática a utilização das funções nas execuções que você desejar:

> inter_conf <- function(i){ 
   boot_value <- boot(i, function(x,j) mean(x[j]), R=1000)
   if(apply(boot_value$t, 2, sd) == 0) {
     return(c(boot_value$t0,boot_value$t0))
   }else {
     return((boot.ci(
       boot_value,
       type=c("perc")
      )
     )$percent[4:5])
   }
 }
> inter_conf(lista)
[1] 2.000000 4.833333

Leave a Reply

Your email address will not be published. Required fields are marked *