Nothing
suppressMessages(library(dplyr))
cmh_17_1g_8_5_13 <- tribble(
~n, ~ra,
299, 1,
473, 2,
628, 3,
773, 4,
913, 5,
1049, 6,
1182, 7,
1312, 8,
1441, 9,
1568, 10,
1693, 11,
1818, 12,
1941, 13,
2064, 14,
2185, 15,
2306, 16,
2426, 17,
2546, 18,
2665, 19,
2784, 20,
2902, 21,
3020, 22,
3137, 23,
3254, 24,
3371, 25,
3487, 26,
3603, 27,
3719, 28,
3834, 29,
3949, 30,
4064, 31,
4179, 32,
4293, 33,
4407, 34,
4521, 35,
4635, 36,
4749, 37,
4862, 38,
4975, 39,
5088, 40,
5201, 41,
5314, 42,
5427, 43,
5539, 44,
5651, 45,
5764, 46,
5876, 47,
5988, 48,
6099, 49,
6211, 50,
6323, 51,
6434, 52,
6545, 53,
6657, 54,
6769, 55,
6879, 56,
6990, 57,
7100, 58,
7211, 59,
7322, 60,
7432, 61,
7543, 62,
7653, 63,
7763, 64,
7874, 65,
7984, 66,
8094, 67,
8204, 68,
8314, 69,
8423, 70,
8533, 71,
8643, 72,
8753, 73,
8862, 74,
8972, 75,
9081, 76,
9190, 77,
9300, 78,
9409, 79,
9518, 80,
9627, 81,
9736, 82,
9854, 83,
9954, 84,
10063, 85,
10172, 86,
10281, 87,
10390, 88,
10498, 89,
10607, 90,
10716, 91,
10824, 92,
10933, 93,
11041, 94,
11150, 95,
11258, 96,
11366, 97,
11475, 98,
11583, 99,
11691, 100
)
test_that("Non-parametric ranks for A-Basis match CMH-17-1G Table 8.5.13", {
skip_on_cran() # this test is a long-running test
cmh_17_1g_8_5_13 %>%
mutate(ra_lag = lag(ra)) %>%
rowwise() %>%
mutate(r_calc = nonpara_binomial_rank(n, 0.99, 0.95)) %>%
mutate(expect_equal(ra, r_calc,
label = paste0(
"Mismatch in r for n=", n,
". rA=", ra,
", r_calc=", r_calc
))) %>%
filter(n > 299 & n < 6500) %>%
# the rank for one sample larger should be the same
mutate(r_calc_plus = nonpara_binomial_rank(n + 1, 0.99, 0.95)) %>%
mutate(expect_equal(ra, r_calc_plus,
label = paste0(
"Mismatch in r for n=", n + 1,
". rA=", ra, ", ",
"r_calc=", r_calc_plus
))) %>%
# the rank for one sample smaller should be the previous one
mutate(r_calc_minus = nonpara_binomial_rank(n - 1, 0.99, 0.95)) %>%
mutate(expect_equal(ra_lag, r_calc_minus,
label = paste0(
"Mismatch in r for n=", n - 1,
". rA=", ra_lag, ", ",
"r_calc=", r_calc_minus
)))
})
test_that("nonpara_binomial_rank raises and error when sample too small", {
expect_error(nonpara_binomial_rank(298, 0.99, 0.95),
"p.*0\\.99.*conf.*0\\.95")
})
test_that("nonpara_binomial_rank raises an error when it can't converge", {
expect_error(nonpara_binomial_rank(4000, 0.00001, 0.01),
"p.*1e-05.*conf.*0\\.01")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.