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