Bootstrap Sample from a Population Grouped by Items
calculate_correction.Rd
This function allows you to bootstrap samples across various sample sizes when the data (optionally) has repeated measures items.
Usage
calculate_correction(
proportion_summary,
pilot_sample_size,
proportion_variability,
power_levels = c(80, 85, 90, 95)
)
Arguments
- proportion_summary
Summary from proportion of items below the cutoff score.
- pilot_sample_size
Number of participants from the pilot sample, note: not the number of items, but the number of people per item.
- proportion_variability
Proportion of variability found between items standard errors.
- power_levels
Power levels to calculate the required sample size.
Value
"corrected_summary"The corrected sample size for the number of people needed for accurately measured items.
Examples
# step 1 create data like what I think I'll get or use your own
pops <- simulate_population(mu = 4, mu_sigma = .2, sigma = 2,
sigma_sigma = .2, number_items = 30, number_scores = 20,
smallest_sigma = .02, min_score = 1, max_score = 7, digits = 0)
# step 2 calculate our cut off score
cutoff <- calculate_cutoff(population = pops,
grouping_items = "item",
score = "score",
minimum = 1,
maximum = 7)
cutoff$se_items
#> [1] 0.4267379 0.3732856 0.4558104 0.3831998 0.4500000 0.4316431 0.3423987
#> [8] 0.3900067 0.3410510 0.3554093 0.4285840 0.3170589 0.3811340 0.4673554
#> [15] 0.4121510 0.3618301 0.4097496 0.4616903 0.4198997 0.3690314 0.3871284
#> [22] 0.4783469 0.3940345 0.4255028 0.2541757 0.3211820 0.5019698 0.3857665
#> [29] 0.4729527 0.4472136
cutoff$sd_items
#> [1] 0.05546183
cutoff$cutoff
#> 40%
#> 0.3865837
cutoff$prop_var
#> [1] 0.01848728
# step 3 simulate bootstrapped samples
samples <- bootstrap_samples(start = 20, stop = 100,
increase = 5, population = pops,
replace = TRUE, grouping_items = "item")
# step 4 and 5
proportion_summary <- calculate_proportion(samples = samples,
cutoff = cutoff$cutoff,
grouping_items = "item",
score = "score")
proportion_summary
#> # A tibble: 17 × 2
#> sample_size percent_below
#> <dbl> <dbl>
#> 1 20 0.468
#> 2 25 0.726
#> 3 30 0.901
#> 4 35 0.976
#> 5 40 0.998
#> 6 45 1
#> 7 50 1
#> 8 55 1
#> 9 60 1
#> 10 65 1
#> 11 70 1
#> 12 75 1
#> 13 80 1
#> 14 85 1
#> 15 90 1
#> 16 95 1
#> 17 100 1
# step 6 final calculation
corrected_summary <- calculate_correction(proportion_summary = proportion_summary,
pilot_sample_size = 20,
proportion_variability = cutoff$prop_var,
power_levels = c(80, 85, 90, 95))
corrected_summary
#> # A tibble: 4 × 3
#> percent_below sample_size corrected_sample_size
#> <dbl> <dbl> <dbl>
#> 1 90.1 30 25.2
#> 2 90.1 30 25.2
#> 3 90.1 30 25.2
#> 4 97.6 35 33.7