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