Skip to contents

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