Nothing
library("testthat")
library("stringr")
data("Loblolly")
set.seed(1)
Loblolly$young <- Loblolly$age < 10
Loblolly$young <- factor(Loblolly$young, label = c("Yes", "No"))
Loblolly$fvar <- factor(sample(letters[1:3], size = nrow(Loblolly), replace = TRUE))
Loblolly$young_w_missing <- Loblolly$young
Loblolly$young_w_missing[sample(1:nrow(Loblolly), size = 4)] <- NA
Loblolly$fvar_w_missing <- Loblolly$fvar
Loblolly$fvar_w_missing[sample(1:nrow(Loblolly), size = 4)] <- NA
Loblolly$height_w_missing <- Loblolly$height
Loblolly$height_w_missing[sample(1:nrow(Loblolly), size = 4)] <- NA
test_that("Statistics work as expected", {
a <- getDescriptionStatsBy(Loblolly$fvar, Loblolly$young,
hrzl_prop = TRUE,
continuous_fn = describeMedian,
statistics = TRUE,
digits = 2, statistics.sig_lim = 10^-4
)
true_fisher_pval <- txtPval(fisher.test(Loblolly$fvar, Loblolly$young)$p.value,
statistics.sig_lim = 10^-4
)
expect_equivalent(
as.character(a[1, "P-value"]),
true_fisher_pval
)
a <- getDescriptionStatsBy(Loblolly$fvar, Loblolly$young,
hrzl_prop = TRUE,
continuous_fn = describeMedian,
statistics = list("factor" = getPvalFisher),
digits = 2, statistics.sig_lim = 10^-4
)
expect_equivalent(
as.character(a[1, "P-value"]),
true_fisher_pval
)
expect_error(getDescriptionStatsBy(Loblolly$fvar, Loblolly$young,
hrzl_prop = TRUE,
continuous_fn = describeMedian,
statistics = list("factor" = getNonExistentPvalueFunction),
digits = 2, statistics.sig_lim = 10^-4
))
a <- getDescriptionStatsBy(Loblolly$fvar, Loblolly$young,
hrzl_prop = TRUE,
continuous_fn = describeMedian,
statistics = function(x, by) {
return(.2)
},
digits = 2, statistics.sig_lim = 10^-4
)
expect_equivalent(
as.character(a[1, "P-value"]),
"0.20", "Custom p-value function problem"
)
a <- getDescriptionStatsBy(Loblolly$fvar, Loblolly$young,
hrzl_prop = TRUE,
continuous_fn = describeMedian,
statistics = function(x, by) {
a <- "test"
attr(a, "colname") <- "test"
return(a)
},
digits = 2, statistics.sig_lim = 10^-4
)
expect_equivalent(
as.character(a[1, "test"]),
"test", "Errror when adding a string p-value alternative"
)
expect_error(getDescriptionStatsBy(Loblolly$fvar, Loblolly$young,
hrzl_prop = TRUE,
continuous_fn = describeMedian,
statistics = function(x, by) {
a <- "test"
return(a)
},
digits = 2, statistics.sig_lim = 10^-4
),
info = "The colname attribute must be present"
)
})
data("mtcars")
### checks for issue #32: display of p-values for multi-row summaries
cars_missing <- mtcars
cars_missing$mpg[3] <- NA
test_that("p-values are displayed in multi-row summaries when rgroup and n.rgroup are specified", {
expected <- structure(
c(
"27.1 (±4.6)", "1 (9.1%)", "19.7 (±1.5)",
"0 (0%)", "15.1 (±2.6)", "0 (0%)", "", ""
),
.Dim = c(2L, 4L),
.Dimnames = list(
c("Mean (SD)", "Missing"),
c("4", "6", "8", "P-value")
),
rgroup = structure("Gas",
add = structure(list(`1` = "< 0.0001"),
.Names = "1"
)
),
n.rgroup = 2,
htmlTable_args = structure(list(), .Names = character(0)),
class = c("descMrg", class(matrix(1)))
)
out <- mergeDesc(getDescriptionStatsBy(
x = cars_missing$mpg,
by = cars_missing$cyl,
statistics = TRUE
),
htmlTable_args = list(rgroup = c("Gas"), n.rgroup = 2)
)
expect_equivalent(out, expected)
})
test_that("p-vlues are displayed in multi-row summaries when rgroup and n.rgroup are not specified", {
expected <- structure(
c(
"27.1 (±4.6)", "1 (9.1%)", "19.7 (±1.5)",
"0 (0%)", "15.1 (±2.6)", "0 (0%)", "", ""
),
.Dim = c(2L, 4L),
.Dimnames = list(
c("Mean (SD)", "Missing"),
c("4", "6", "8", "P-value")
),
rgroup = structure("cars_missing$mpg",
add = structure(list(`1` = "< 0.0001"),
.Names = "1"
)
),
n.rgroup = 2L,
class = c("descMrg", class(matrix(1)))
)
out <- mergeDesc(getDescriptionStatsBy(
x = cars_missing$mpg,
by = cars_missing$cyl,
statistics = TRUE
))
expect_equivalent(out, expected)
})
test_that("p-values are displayed in the rgroup title for both multi- and one-row summaries when rgroup and n.rgroup are specified", {
expected <- structure(
c(
"27.1 (±4.6)", "1 (9.1%)", "105.1 (±26.9)",
"19.7 (±1.5)", "0 (0%)", "183.3 (±41.6)",
"15.1 (±2.6)", "0 (0%)", "353.1 (±67.8)", "", "", ""
),
.Dim = 3:4,
.Dimnames = list(
c("Mean (SD)", "Missing", "cars_missing$disp"),
c("4", "6", "8", "P-value")
),
rgroup = structure(c("Gas", "Displacement"),
add = list("< 0.0001", "< 0.0001")
),
n.rgroup = c(2, 1),
htmlTable_args = structure(list(), .Names = character(0)),
class = c("descMrg", class(matrix(1)))
)
out <- mergeDesc(getDescriptionStatsBy(
x = cars_missing$mpg,
by = cars_missing$cyl,
statistics = TRUE
),
getDescriptionStatsBy(
x = cars_missing$disp,
by = cars_missing$cyl,
statistics = TRUE
),
htmlTable_args = list(
rgroup = c("Gas", "Displacement"),
n.rgroup = c(2, 1)
)
)
expect_equivalent(out, expected)
})
test_that("p-values are displayed for both multi- and one-row summaries when rgroup and n.rgroup are not specified", {
expected <- structure(
c(
"27.1 (±4.6)", "1 (9.1%)", "105.1 (±26.9)",
"19.7 (±1.5)", "0 (0%)", "183.3 (±41.6)",
"15.1 (±2.6)", "0 (0%)", "353.1 (±67.8)",
"", "", "< 0.0001"
),
.Dim = 3:4,
.Dimnames = list(
c("Mean (SD)", "Missing", "cars_missing$disp"),
c("4", "6", "8", "P-value")
),
rgroup = structure(c("cars_missing$mpg", ""),
add = structure(list(`1` = "< 0.0001"), .Names = "1")
),
n.rgroup = c(2, 1),
class = c("descMrg", class(matrix(1)))
)
out <- mergeDesc(
getDescriptionStatsBy(
x = cars_missing$mpg,
by = cars_missing$cyl,
statistics = TRUE
),
getDescriptionStatsBy(
x = cars_missing$disp,
by = cars_missing$cyl,
statistics = TRUE
)
)
expect_equivalent(out, expected)
})
test_that("p-vlues are displayed in multi-row summaries when rgroup and n.rgroup are not specified", {
expected <- structure(
c(
"27.1 (±4.6)", "1 (9.1%)", "19.7 (±1.5)",
"0 (0%)", "15.1 (±2.6)", "0 (0%)", "", ""
),
.Dim = c(2L, 4L),
.Dimnames = list(
c("Mean (SD)", "Missing"),
c("4", "6", "8", "P-value")
),
rgroup = structure("cars_missing$mpg",
add = structure(list(`1` = "< 0.0001"),
.Names = "1"
)
),
n.rgroup = 2L,
class = c("descMrg", class(matrix(1)))
)
out <- mergeDesc(getDescriptionStatsBy(
x = cars_missing$mpg,
by = cars_missing$cyl,
statistics = TRUE
))
expect_equivalent(out, expected)
})
test_that("p-values are displayed in the rgroup title for both multi- and one-row summaries when rgroup and n.rgroup are specified", {
expected <- structure(
c(
"27.1 (±4.6)", "1 (9.1%)", "105.1 (±26.9)",
"19.7 (±1.5)", "0 (0%)", "183.3 (±41.6)",
"15.1 (±2.6)", "0 (0%)", "353.1 (±67.8)", "", "", ""
),
.Dim = 3:4,
.Dimnames = list(
c("Mean (SD)", "Missing", "cars_missing$disp"),
c("4", "6", "8", "P-value")
),
rgroup = structure(c("Gas", "Displacement"),
add = list("< 0.0001", "< 0.0001")
),
n.rgroup = c(2, 1),
htmlTable_args = structure(list(), .Names = character(0)),
class = c("descMrg", class(matrix(1)))
)
out <- mergeDesc(getDescriptionStatsBy(x = cars_missing$mpg,
by = cars_missing$cyl,
statistics = TRUE),
getDescriptionStatsBy(x = cars_missing$disp,
by = cars_missing$cyl,
statistics = TRUE),
htmlTable_args = list(rgroup = c("Gas", "Displacement"),
n.rgroup = c(2, 1)))
expect_equivalent(out, expected)
})
test_that("p-values are displayed for both multi- and one-row summaries when rgroup and n.rgroup are not specified", {
expected <- structure(
c(
"27.1 (±4.6)", "1 (9.1%)", "105.1 (±26.9)",
"19.7 (±1.5)", "0 (0%)", "183.3 (±41.6)",
"15.1 (±2.6)", "0 (0%)", "353.1 (±67.8)",
"", "", "< 0.0001"),
.Dim = 3:4,
.Dimnames = list(c("Mean (SD)", "Missing", "cars_missing$disp"),
c("4", "6", "8", "P-value")),
rgroup = structure(c("cars_missing$mpg", ""),
add = structure(list(`1` = "< 0.0001"), .Names = "1")),
n.rgroup = c(2, 1),
class = c("descMrg", class(matrix(1)))
)
out <- mergeDesc(
getDescriptionStatsBy(
x = cars_missing$mpg,
by = cars_missing$cyl,
statistics = TRUE
),
getDescriptionStatsBy(
x = cars_missing$disp,
by = cars_missing$cyl,
statistics = TRUE
)
)
expect_equivalent(out, expected)
})
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.