Description
Intraclass Correlation Coefficient (ICC) Design, Calculation and Interactive 'shiny' Toolkit.
Description
A comprehensive toolkit for intraclass correlation coefficient (ICC) analysis, integrating three core functionalities: (1) Closed-form sample size calculation for ICC estimation with assurance probability, based on Zou (2012) <doi:10.1002/sim.5466>; (2) Full implementation of all 10 ICC types (6 common + 4 supplementary) for point estimation, exact confidence interval calculation, and formal hypothesis testing, following the methods of McGraw & Wong (1996) <doi:10.1037/1082-989X.1.1.30> and the standard decision framework; (3) An interactive 'shiny' application that guides users through ICC type selection, performs calculations, and provides reliability evaluation based on the Koo & Li (2016) <doi:10.1016/j.jcm.2016.02.012> criteria. Compared to existing packages, it provides a unified decision workflow and supports all less common ICC variants.
README.md
ICCDesign
A comprehensive R package for intraclass correlation coefficient (ICC) analysis and sample size planning.
Features
- Full support for all 10 ICC types from McGraw & Wong (1996)
- Intuitive 4-question decision framework (no need to memorize ICC codes)
- Automated reliability evaluation based on Koo & Li (2016)
- Publication-ready report generation
- Sample size and power analysis
- Interactive Shiny web application with visualization
- Comprehensive data validation and error handling
Installation
# Install devtools if not already installed
install.packages("devtools")
# Install ICCDesign from GitHub
devtools::install_github("KlariZhang/ICCDesign")
# Load the package
library(ICCDesign)
Quick Start
- Command Line Interface
# Use the built-in example dataset
data(icc_data)
# Calculate ICC (two-way random, single rating, absolute agreement)
result <- icc_calc(
data = icc_data,
same_raters = TRUE,
rater_effect = "random",
rating_type = "single",
agreement_type = "absolute"
)
# View the full report
print(result)
# Extract specific results
result$icc_result$point_est # ICC point estimate
result$evaluation$rating_en # Reliability rating
- Interactive Shiny Interface
### Launch the point-and-click web application
run_icc_app() 3. Sample Size Calculation
- Sample Size Calculation
### Calculate required sample size for 80% assurance that ICC >= 0.75
n <- icc_sample_size(
method = "lower",
rho = 0.85,
rating_target = "good",
k = 3,
same_raters = TRUE,
rater_effect = "random",
rating_type = "single",
agreement_type = "absolute"
)
cat("Required sample size:", n, "\n")
References
- McGraw, K. O., & Wong, S. P. (1996). Forming inferences about some intraclass correlation coefficients. Psychological Methods, 1(1), 30-46.
- Koo, T. K., & Li, M. Y. (2016). A guideline of selecting and reporting intraclass correlation coefficients for reliability research. Journal of Chiropractic Medicine, 15(2), 155-163.