#1. Successful Calculation
glucose_data <- c(125, 95, 150, 88, 110, 105, 78, 133, 99, 101, 140)
min_target <- 90
max_target <- 130
calculate_tir(glucose_data, min_target, max_target) # Expected: 72.72727
#2. Handling NA values (Points are 100, 110, 80, 120, 150. 3 of 5 are in range.)
na_data <- c(100, NA, 110, 80, 120, NA, 150)
calculate_tir(na_data, 90, 130) # Expected: 60
#3. Error Handling: Non-numeric data
calculate_tir(c("A", 100, 110), 90, 130)
#4. Error Handling: Invalid target range
calculate_tir(glucose_data, 130, 90)
#5. Edge Case: Empty vector
calculate_tir(numeric(0), 90, 130)
Run the code above in your browser using DataLab