# 1) Test calculations ----------------------------------------------------
# Expect SII value to match exactly, and confidence limits to be within
# given tolerance
# Set tolerance for confidence limits
tol <- 0.05
# Set lower number of repetitions for faster testing
no_reps <- 10000
# Run tests ---------------------------------------------------------------
# Test function gives same confidence limits when seed is set and
# run on same data
# Set seed to determine random number generation in simulation function
set.seed(5)
test1 <- data.frame(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile, Population,
value_type = 0, # default normal distribution
value = Value, # value supplied
se = StandardError,
repetitions = 1000,
rii = TRUE,
type = "standard"))
set.seed(5)
test2 <- data.frame(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile, Population,
value_type = 0, # default normal distribution
value = Value, # value supplied
se = StandardError,
repetitions = 1000,
rii = TRUE,
type = "standard"))
expect_equal(test1, test2)
test_that("SII and confidence limits calculate correctly",{
# ***************************************
# *** DEFAULT NORMAL (value_type = 0) ***
# ***************************************
# test SII default calculation on 2 areas, supplying value field
expect_equal(data.frame(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile, Population,
value_type = 0, # default normal distribution
value = Value, # value supplied
se = StandardError,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(1,11), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test default with SE provided", tolerance = tol)
# test same calculation, supplying upper and lower CLs rather than SE
expect_equal(data.frame(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(1,11), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test default with CLs provided", tolerance = tol)
# test same calculation, outputting intercept value
expect_equal(data.frame(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
intercept = TRUE, # Intercept set to true
type = "standard")),
data.frame(SII_test_grouped[c(246,256), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test default with intercept", tolerance = tol)
# test function on ungrouped dataset
SII_test_data <- ungroup(SII_test_grouped)
expect_equal(data.frame(phe_sii(SII_test_data[1:10, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[1, c(16:21)]),
ignore_attr = TRUE,
info="test on ungrouped data", tolerance = tol)
# test SII calculation at 99% confidence (inputted as decimal)
expect_equal(data.frame(phe_sii(SII_test_grouped[21:40, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
confidence = 0.99,
repetitions = no_reps,
rii = TRUE,
type = "standard")), # SII confidence changed
data.frame(SII_test_grouped[c(21,31), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test at 99% confidence (decimal)", tolerance = tol)
# test SII calculation at 99% confidence (inputted as %)
expect_equal(data.frame(phe_sii(SII_test_grouped[21:40, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
se = StandardError,
confidence = 99,
repetitions = no_reps,
rii = TRUE,
type = "standard")), # SII confidence changed
data.frame(SII_test_grouped[c(21,31), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test at 99% confidence (%)", tolerance = tol)
# test SII calculation on multiple confidence intervals (inputted as %)
expect_equal(data.frame(phe_sii(SII_test_grouped[226:245, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
se = StandardError,
confidence = c(95, 99),
repetitions = no_reps,
rii = TRUE,
type = "standard")), # SII confidence changed
data.frame(SII_test_grouped[c(226,236), c(3:5,16:18,19,22,23,20,21,24,25)]),
ignore_attr = TRUE,
info="test at 95 and 99% confidence (%)", tolerance = tol)
# test SII calculation on 100,000 repetitions
expect_equal(data.frame(phe_sii(SII_test_grouped[41:60, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
se = StandardError,
repetitions = 100000,
rii = TRUE,
type = "standard")), # No. repetitions changed
data.frame(SII_test_grouped[c(41,51), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test on 10000 repetitions", tolerance = tol)
# test SII calculation on quintiles instead of deciles
expect_equal(data.frame(phe_sii(SII_test_grouped[61:70, 3:13],
Quantile, Population,
value_type = 0,
value = Value,
se = StandardError,
repetitions = no_reps,
rii = TRUE,
type = "standard"))[, 1:4], # only have SII available from Excel tool
data.frame(SII_test_grouped[c(61,66), c(3:5,16)]),
ignore_attr = TRUE,
info="test on quintiles", tolerance = tol)
# *****************************
# *** RATE (value_type = 1) ***
# *****************************
# test SII rate calculation on 2 areas, supplying SE
expect_equal(data.frame(phe_sii(SII_test_grouped[71:90, 3:13],
Quantile, Population,
value_type = 1, # rate indicator
value = Value,
se = StandardError,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(71,81), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test rate with SE provided", tolerance = tol)
# test same calculation, supplying upper and lower CLs (before transformation)
# rather than SE
expect_equal(data.frame(phe_sii(SII_test_grouped[71:90, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(71,81), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test rate with CLs provided", tolerance = tol)
# test same calculation, outputting intercept value
expect_equal(data.frame(phe_sii(SII_test_grouped[71:90, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
intercept = TRUE, # Intercept set to true
type = "standard")),
data.frame(SII_test_grouped[c(266,276), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test rate with intercept", tolerance = tol)
# test calculation with log transformation of values,
expect_equal(data.frame(phe_sii(SII_test_grouped[306:325, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(306,316), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test rate with transformation", tolerance = tol)
# test calculation with log transformation of values and negative multiplier,
expect_equal(data.frame(phe_sii(SII_test_grouped[386:405, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
multiplier = -1, # Negative multiplier
rii = TRUE,
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(386,396), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test rate with transformation and negative multiplier", tolerance = tol)
# test calculation with log transformation of values and 98% confidence intervals,
expect_equal(data.frame(phe_sii(SII_test_grouped[406:425, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
confidence = 98, #98% CIs
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(406,416), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test rate with transformation and 98% cis", tolerance = tol)
# test calculation with log transformation of values and multiple confidence intervals,
expect_equal(data.frame(phe_sii(SII_test_grouped[366:385, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
confidence = c(95, 98), #95 and 98% CIs
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(366,376), c(3:5,16:26)]),
ignore_attr = TRUE,
info="test rate with transformation and multiple cis", tolerance = tol)
# test calculation with log transformation of values without RII,
expect_equal(data.frame(phe_sii(SII_test_grouped[426:445, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = FALSE,
intercept = FALSE,
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(426,436), c(3:5,16, 18:19)]),
ignore_attr = TRUE,
info="test rate with transformation without rii", tolerance = tol)
# ***********************************
# *** PROPORTION (value_type = 2) ***
# ***********************************
# test SII rate calculation on 2 areas, supplying SE
expect_equal(data.frame(phe_sii(SII_test_grouped[91:110, 3:13],
Quantile, Population,
value_type = 2, # rate indicator
value = Value,
se = StandardError,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(91,101), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test proportion with SE provided", tolerance = tol)
# test same calculation, supplying upper and lower CLs (before transformation)
# rather than SE
expect_equal(data.frame(phe_sii(SII_test_grouped[91:110, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(91,101), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test proportion with CLs provided", tolerance = tol)
# test same calculation, supplying count instead of value
expect_equal(data.frame(phe_sii(SII_test_grouped[91:110, 3:13],
Quantile, Population,
value_type = 2,
x = Count, # count supplied
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(91,101), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test proportion with count provided", tolerance = tol)
# test same calculation, outputting intercept value
expect_equal(data.frame(phe_sii(SII_test_grouped[91:110, 3:13],
Quantile, Population,
value_type = 1,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
intercept = TRUE, # Intercept set to true
type = "standard")),
data.frame(SII_test_grouped[c(286,296), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test proportion with intercept", tolerance = tol)
# test SII calculation with POSITIVE multiplier and RII
expect_equal(data.frame(phe_sii(SII_test_grouped[111:130, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
multiplier = 100, # multiplier applied
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(111,121), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test proportion with positive multiplier and RII", tolerance = tol)
# test SII calculation with POSITIVE multiplier without RII
expect_equal(data.frame(phe_sii(SII_test_grouped[111:130, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
multiplier = 100, # multiplier applied
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = no_reps,
rii = FALSE,
type = "standard")),
data.frame(SII_test_grouped[c(111,121), c(3:5,16,18,19)]),
ignore_attr = TRUE,
info="test proportion with positive multiplier without RII", tolerance = tol)
# test SII calculation with NEGATIVE multiplier and RII
expect_equal(data.frame(phe_sii(SII_test_grouped[131:150, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
multiplier = -100, # multiplier applied
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
type = "standard")),
data.frame(SII_test_grouped[c(131,141), c(3:5,16:21)]),
ignore_attr = TRUE,
info="test proportion with negative multiplier and RII", tolerance = tol)
# test SII calculation with NEGATIVE multiplier without RII
expect_equal(data.frame(phe_sii(SII_test_grouped[131:150, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
multiplier = -100, # multiplier applied
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = no_reps,
rii = FALSE,
type = "standard")),
data.frame(SII_test_grouped[c(131,141), c(3:5,16,18,19)]),
ignore_attr = TRUE,
info="test proportion with negative multiplier without RII", tolerance = tol)
# test calculation with logit transformation of values,
expect_equal(data.frame(phe_sii(SII_test_grouped[326:345, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = TRUE,
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(326,336), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test proportion with transformation", tolerance = tol)
# test calculation with logit transformation of values and negative multiplier,
expect_equal(data.frame(phe_sii(SII_test_grouped[346:365, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
multiplier = -1, # Multiplier set to -1
rii = TRUE,
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(346,356), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test proportion with transformation and negative multiplier", tolerance = tol)
# test calculation with logit transformation of values and 98% ci,
expect_equal(data.frame(phe_sii(SII_test_grouped[466:485, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
confidence = 98,
rii = TRUE,
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(466,476), c(3:5,16:21,26)]),
ignore_attr = TRUE,
info="test proportion with transformation and 98% cis", tolerance = tol)
# test calculation with logit transformation of values and 95% and 98% ci,
expect_equal(data.frame(phe_sii(SII_test_grouped[486:505, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
confidence = c(95, 98),
rii = TRUE,
intercept = TRUE, # Intercept set to true
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(486,496), c(3:5,16:26)]),
ignore_attr = TRUE,
info="test proportion with transformation and 95% and 98% cis", tolerance = tol)
# test calculation with logit transformation of values and 95% and 98% ci,
expect_equal(data.frame(phe_sii(SII_test_grouped[446:465, 3:13],
Quantile, Population,
value_type = 2,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
repetitions = no_reps,
rii = FALSE,
transform = TRUE, # Log transformation set to true
type = "standard")),
data.frame(SII_test_grouped[c(446,456), c(3:5,16, 18:19)]),
ignore_attr = TRUE,
info="test proportion with transformation and no rii", tolerance = tol)
})
# 2) Test error handling --------------------------------------------------
test_that("errors are generated when invalid parameters are entered",{
# missing population parameter (obligatory input)
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
x = Count,
se = StandardError),
"function phe_sii requires the arguments: data, quantile, population",
info = "missing population parameter")
# missing quantile parameter (obligatory input)
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Population,
x = Count,
se = StandardError),
"function phe_sii requires the arguments: data, quantile, population",
info = "missing quantile parameter")
# missing value parameter (obligatory input) - for default
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value_type = 0,
se = StandardError),
"function phe_sii requires value field, or x field if indicator is a proportion of population",
info = "missing value parameter - for default")
# missing value parameter (obligatory input) - for rate
expect_error(phe_sii(SII_test_grouped[71:90, 3:13],
Quantile,
Population,
value_type = 1,
se = StandardError),
"function phe_sii requires value field, or x field if indicator is a proportion of population",
info = "missing value parameter - for rate")
# missing count and value parameters - for proportions
expect_error(phe_sii(SII_test_grouped[91:110, 3:13],
Quantile,
Population,
value_type = 2,
se = StandardError),
"function phe_sii requires value field, or x field if indicator is a proportion of population",
info = "missing count and value parameters - for proportions")
# missing standard error and a confidence limit parameter
expect_error(phe_sii(SII_test_grouped[1:20, 2:10],
Quantile,
Population,
value = Value,
lower_cl = LowerCI),
"function phe_sii requires either lower_cl and upper_cl fields, or se field",
info = "missing standard error and a confidence limit parameter")
# invalid indicator value type - string
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
value_type = "rate",
se = StandardError,
repetitions = 0),
"value_type should be 0, 1 or 2",
info = "invalid indicator value type - string")
# invalid indicator value type - integer
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
value_type = 3,
se = StandardError),
"value_type should be 0, 1 or 2",
info = "invalid indicator value type - integer")
# invalid multiplier - string
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
se = StandardError,
multiplier = "none"),
"multiplier, repetitions and confidence inputs should be numeric",
info = "invalid multiplier - string")
# invalid number of repetitions - numeric
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
se = StandardError,
repetitions = 0),
"number of repetitions must be 1000 or greater. Default is 100,000",
info = "invalid number of repetitions - numeric")
# invalid number of repetitions - string
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
se = StandardError,
repetitions = "none"),
"multiplier, repetitions and confidence inputs should be numeric",
info = "invalid number of repetitions - string")
# invalid confidence limit (decimal)
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
se = StandardError,
confidence = 0.35),
"all confidence levels must be between 90 and 100 or between 0.9 and 1",
info = "invalid confidence limit (decimal)")
# invalid confidence limit (%) - too low
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
se = StandardError,
confidence = 40),
"all confidence levels must be between 90 and 100 or between 0.9 and 1",
info = "invalid confidence limit pc - too low")
# invalid confidence limit (%) - too high
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
se = StandardError,
confidence = 135),
"all confidence levels must be between 90 and 100 or between 0.9 and 1",
info = "invalid confidence limit pc - too high")
# transform set to true with indicator type =0
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL, # CLs supplied
upper_cl = UpperCL,
transform = TRUE,
value_type = 0),
"value_type should be 1 or 2 when transform is true",
info = "value_type should be 1 or 2 when transform is true")
# transform set to true and se provided
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
se = StandardError,
transform = TRUE,
value_type = 1),
"se to be missing when transform is true",
info = "se to be missing when transform is true")
})
test_that("errors are generated when input dataframe contains invalid data",{
# non-numeric inputs
expect_error(phe_sii(SII_test_grouped[151:160, 3:13],
Quantile,
Grouping1,
value = Value,
se = StandardError),
"some input fields in data.frame are non-numeric")
# negative populations in dataset
expect_error(phe_sii(SII_test_grouped[151:160, 3:13],
Quantile,
Population,
value = Value,
se = StandardError),
"some groups have a zero, negative or missing population")
# negative SE in dataset
expect_error(phe_sii(SII_test_grouped[161:165, 3:13],
Quantile,
Population,
value = Value,
se = StandardError),
"negative or missing standard errors in input dataset")
# missing SE in dataset
expect_error(phe_sii(SII_test_grouped[191:200, 3:13],
Quantile,
Population,
value = Value,
se = StandardError),
"negative or missing standard errors in input dataset")
# zero count in dataset
expect_error(phe_sii(SII_test_grouped[166:170, 3:13],
Quantile,
Population,
x = Count,
value_type = 2,
se = StandardError),
"some groups have a zero or negative count x")
# value proportions outside 0 to 1 range
expect_error(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
value_type = 2,
se = StandardError),
"value proportions are not all between 0 and 1")
# CL proportions outside 0 to 1 range
expect_error(phe_sii(SII_test_grouped[171:175, 3:13],
Quantile,
Population,
value = Value,
value_type = 2,
lower_cl = LowerCL,
upper_cl = UpperCL),
"confidence limit proportions are not all between 0 and 1")
expect_error(phe_sii(SII_test_grouped[176:180, 3:13],
Quantile,
Population,
value = Value,
value_type = 2,
lower_cl = LowerCL,
upper_cl = UpperCL),
"confidence limit proportions are not all between 0 and 1")
# invalid number of quantiles (too small)
expect_error(phe_sii(SII_test_grouped[1:3, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL),
"Number of quantiles must be between 5 and 100")
# missing CL data in input dataset
expect_error(phe_sii(SII_test_grouped[191:200, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL),
"missing lower or upper confidence limits in input dataset")
})
# 3) Test warnings --------------------------------------------------------
test_that("warnings are generated when data does not pass quality checks",{
# incomplete or invalid records
expect_warning(phe_sii(SII_test_grouped[c(1:15, 17:20), 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
type = "standard"),
"WARNING: some records have been removed due to incomplete or invalid data")
# large number of quantiles
expect_warning(phe_sii(SII_test_grouped[211:225, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
type = "standard"),
"WARNING: Small values can make SII unstable when using a large number of quantiles")
})
# 4) Test reliability stats ----------------------------------------------
test_that("dimensions are correct when reliaibility stats requested",{
# Tests WITHOUT RII
# check dimensions WITH reliability stats and POSITIVE multiplier
expect_equal(dim(TEST <- phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
reliability_stat = TRUE,
type = "standard")),
c(2,7))
# check dimensions WITHOUT reliability stats and POSITIVE multiplier
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
reliability_stat = FALSE,
type = "standard")),
c(2,6))
# check dimensions WITH reliability stats and NEGATIVE multiplier
expect_equal(dim(TEST <- phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
multiplier = -1,
reliability_stat = TRUE,
type = "standard")),
c(2,7))
# check dimensions WITHOUT reliability stats and NEGATIVE multiplier
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
multiplier = -1,
reliability_stat = FALSE,
type = "standard")),
c(2,6))
# check dimensions with default type = "full" WITH reliability stats
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
reliability_stat = TRUE,
type = "full")),
c(2,12))
# check dimensions with default type = "full" WITHOUT reliability stats
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
reliability_stat = FALSE,
type = "full")),
c(2,11))
# Tests WITH RII
# check dimensions WITH reliability stats and POSITIVE multiplier
expect_equal(dim(TEST <- phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
rii = TRUE,
reliability_stat = TRUE,
type = "standard")),
c(2,11))
# check dimensions WITHOUT reliability stats and POSITIVE multiplier
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
rii = TRUE,
reliability_stat = FALSE,
type = "standard")),
c(2,9))
# check dimensions WITH reliability stats and NEGATIVE multiplier
expect_equal(dim(TEST <- phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
multiplier = -1,
rii = TRUE,
reliability_stat = TRUE,
type = "standard")),
c(2,11))
# check dimensions WITHOUT reliability stats and NEGATIVE multiplier
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
multiplier = -1,
rii = TRUE,
reliability_stat = FALSE,
type = "standard")),
c(2,9))
# check dimensions with default type = "full" WITH reliability stats
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
rii = TRUE,
reliability_stat = TRUE,
type = "full")),
c(2,16))
# check dimensions with default type = "full" WITHOUT reliability stats
expect_equal(dim(phe_sii(SII_test_grouped[1:20, 3:13],
Quantile,
Population,
value = Value,
lower_cl = LowerCL,
upper_cl = UpperCL,
repetitions = 1000,
rii = TRUE,
reliability_stat = FALSE,
type = "full")),
c(2,14))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.