ci_boot.Rd
Pasikliautinųjų intervalų (PI) skaičiavimas pasirinktu savirankos metodu
(angl. statistical bootstrap). Funkcija ci_boot()
yra patobulintas
DescTools::BootCI()
variantas. Rezultatas – duomenų lentelė.
ci_boot(.data, x, y = NULL, conf.level = 0.95, ...)
Duomenų lentelė.
Stulpelio pavadinimas (be kabučių).
Pasikliovimo lygmuo. Numatytoji reikšmė – 0.95.
Kiti parametrai, kuriuos priima DescTools::BootCI()
, tarp kurių:
FUN
– funkcija, kurios rezultatui skaičiuojami PI.
bci.method
– intervalų sudarymo metodai:
"perc"
– procentilių metodas,
"bca"
– koreguotasis procentilių metodas BCa
(angl. bias-corrected and accelerated) – pastaba dėl metodo
naudojimo žemiau,
kiti.
R
– replikacijų (pakartojimų) skaičius.
Įprastai turi būti tarp 1'000 ir 10'000.
Rezultatas – duomenų lentelė, su pasikliautinaisiais intervalais. Stulpelių skaičius ir pavadinimai priklauso nuo funkcijos argumentų reikšmių ir sugrupavimo:
Jei duomenų lentelė grupuotoji, pirmųjų stulpelių pavadinimai sutampa su grupavimo kintamųjų pavadinimais.
Stulpelio pavadinimas, sutampantis su skaičiuojamos statistikos pavadinimu
(argumento FUN
reikšme).
Jame yra skaičiuojamos statistikos įvertis.
lwr.ci
, upr.ci
– (lower CI, upper CI) apatinė ir viršutinė
pasikliautinojo intervalo ribos.
Ši funkcija naudojama panašiai, kaip DescTools::BootCI()
, bet:
pirmas argumentas yra duomenų lentelė;
argumentai x
(ir, jei reikia, y
) – stulpelių pavadinimai – nurodomi
be kabučių;
funkcija reaguoja į dplyr::group_by()
, tad skaičiavimus gali atlikti
pogrupiams;
rezultatas – duomenų lentelė. Todėl rezultatą galima patogiai braižyti naudojant ggplot2.
PASTABOS!
Savirankos metodams kiekvienos grupės dydis turėtų būti bent 20.
Norėdami gauti atkartojamus rezultatus naudokite set.seed()
.
Naudojant bci.method = "bca"
ir gavus įspėjimą
„extreme order statistics used as endpoints
“
reiktų žinoti, kad BCa metodas šiai situacijai netinka ir reiktų
naudoti kitą, pvz., "perc"
(https://rcompanion.org/handbook/E_04.html).
data(iris, package = "datasets")
head(iris)
#> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1 5.1 3.5 1.4 0.2 setosa
#> 2 4.9 3.0 1.4 0.2 setosa
#> 3 4.7 3.2 1.3 0.2 setosa
#> 4 4.6 3.1 1.5 0.2 setosa
#> 5 5.0 3.6 1.4 0.2 setosa
#> 6 5.4 3.9 1.7 0.4 setosa
set.seed(1) # Atkartojamumui
# Medianos PI iš 1000 pakartojimų,
# BCa metodas
ci_boot(iris, Petal.Length, FUN = median, R = 1000, bci.method = "bca")
#> # A tibble: 1 × 3
#> median lwr.ci upr.ci
#> <dbl> <dbl> <dbl>
#> 1 4.35 4 4.6
# Naudojamas jungimo operatorius
iris |>
ci_boot(Petal.Length, FUN = median, R = 1000, bci.method = "bca")
#> # A tibble: 1 × 3
#> median lwr.ci upr.ci
#> <dbl> <dbl> <dbl>
#> 1 4.35 4 4.55
# PI skaičiavimas kiekvienai grupei atskirai
iris |>
dplyr::group_by(Species) |>
ci_boot(Petal.Length, FUN = median, R = 1000, bci.method = "bca")
#> # A tibble: 3 × 4
#> Species median lwr.ci upr.ci
#> <fct> <dbl> <dbl> <dbl>
#> 1 setosa 1.5 1.4 1.5
#> 2 versicolor 4.35 4.1 4.5
#> 3 virginica 5.55 5.2 5.65
# Medianos PI iš 1000 pakartojimų, procentilių metodas
iris |>
dplyr::group_by(Species) |>
ci_boot(Petal.Length, FUN = median, R = 1000, bci.method = "perc")
#> # A tibble: 3 × 4
#> Species median lwr.ci upr.ci
#> <fct> <dbl> <dbl> <dbl>
#> 1 setosa 1.5 1.4 1.5
#> 2 versicolor 4.35 4.1 4.5
#> 3 virginica 5.55 5.3 5.7
# PI skaičiavimas, nurodant funkcijos `median()`
# argumentą `na.rm = TRUE`
med_pi_gr <-
iris |>
dplyr::group_by(Species) |>
ci_boot(
Petal.Length,
FUN = median, na.rm = TRUE,
R = 1000, bci.method = "bca"
)
med_pi_gr
#> # A tibble: 3 × 4
#> Species median lwr.ci upr.ci
#> <fct> <dbl> <dbl> <dbl>
#> 1 setosa 1.5 1.4 1.5
#> 2 versicolor 4.35 4.1 4.5
#> 3 virginica 5.55 5.2 5.65
# Dviejų kintamųjų funkcijoms pavyzdys:
# Spearman koreliacijos koeficientas
# (method = "spearman" yra cor() argumentas)
spearman_pi_gr <-
iris |>
dplyr::group_by(Species) |>
ci_boot(
Petal.Length, Petal.Width,
FUN = cor, method = "spearman",
R = 1000, bci.method = "bca"
)
spearman_pi_gr
#> # A tibble: 3 × 4
#> Species cor lwr.ci upr.ci
#> <fct> <dbl> <dbl> <dbl>
#> 1 setosa 0.271 -0.0155 0.496
#> 2 versicolor 0.787 0.617 0.877
#> 3 virginica 0.363 0.0988 0.565
# Dviejų kintamųjų funkcijoms pavyzdys:
# Pearson koreliacijos koeficientas
# (method = "pearson" yra cor() argumentas)
pearson_pi_gr <-
iris |>
dplyr::group_by(Species) |>
ci_boot(
Petal.Length, Petal.Width,
FUN = cor, method = "pearson",
R = 1000, bci.method = "bca"
)
pearson_pi_gr
#> # A tibble: 3 × 4
#> Species cor lwr.ci upr.ci
#> <fct> <dbl> <dbl> <dbl>
#> 1 setosa 0.332 0.0846 0.533
#> 2 versicolor 0.787 0.664 0.866
#> 3 virginica 0.322 0.107 0.497