mirror of
https://github.com/msberends/AMR.git
synced 2025-07-08 18:01:50 +02:00
new tibble export
This commit is contained in:
@ -49,5 +49,5 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
|
||||
# we rely on "grouped_tbl" being a class of grouped tibbles, so implement a test that checks for this:
|
||||
if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
expect_true(AMR:::is_null_or_grouped_tbl(example_isolates %>% group_by(hospital_id)))
|
||||
expect_true(AMR:::is_null_or_grouped_tbl(example_isolates %>% group_by(ward)))
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ expect_true(is.data.frame(format(b)))
|
||||
expect_true(is.data.frame(format(b, combine_IR = TRUE, add_ab_group = FALSE)))
|
||||
if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
expect_true(example_isolates %>%
|
||||
group_by(hospital_id) %>%
|
||||
group_by(ward) %>%
|
||||
bug_drug_combinations(FUN = mo_gramstain) %>%
|
||||
is.data.frame())
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ expect_error(count_susceptible("test", minimum = "test"))
|
||||
expect_error(count_susceptible("test", as_percent = "test"))
|
||||
|
||||
expect_error(count_df(c("A", "B", "C")))
|
||||
expect_error(count_df(example_isolates[, "date"]))
|
||||
expect_error(count_df(example_isolates[, "date", drop = TRUE]))
|
||||
|
||||
if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
expect_equal(example_isolates %>% count_susceptible(AMC), 1433)
|
||||
@ -63,7 +63,7 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
|
||||
# count of cases
|
||||
expect_equal(example_isolates %>%
|
||||
group_by(hospital_id) %>%
|
||||
group_by(ward) %>%
|
||||
summarise(cipro = count_susceptible(CIP),
|
||||
genta = count_susceptible(GEN),
|
||||
combination = count_susceptible(CIP, GEN)) %>%
|
||||
@ -89,9 +89,9 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
)
|
||||
|
||||
# grouping in rsi_calc_df() (= backbone of rsi_df())
|
||||
expect_true("hospital_id" %in% (example_isolates %>%
|
||||
group_by(hospital_id) %>%
|
||||
select(hospital_id, AMX, CIP, gender) %>%
|
||||
expect_true("ward" %in% (example_isolates %>%
|
||||
group_by(ward) %>%
|
||||
select(ward, AMX, CIP, gender) %>%
|
||||
rsi_df() %>%
|
||||
colnames()))
|
||||
}
|
||||
|
@ -45,16 +45,16 @@ expect_false(any(is.na(microorganisms.codes$mo)))
|
||||
expect_true(all(dosage$ab %in% antibiotics$ab))
|
||||
expect_true(all(dosage$name %in% antibiotics$name))
|
||||
# check valid disks/MICs
|
||||
expect_false(any(is.na(as.mic(rsi_translation[which(rsi_translation$method == "MIC"), "breakpoint_S"]))))
|
||||
expect_false(any(is.na(as.mic(rsi_translation[which(rsi_translation$method == "MIC"), "breakpoint_R"]))))
|
||||
expect_false(any(is.na(as.disk(rsi_translation[which(rsi_translation$method == "DISK"), "breakpoint_S"]))))
|
||||
expect_false(any(is.na(as.disk(rsi_translation[which(rsi_translation$method == "DISK"), "breakpoint_R"]))))
|
||||
expect_false(any(is.na(as.mic(rsi_translation[which(rsi_translation$method == "MIC"), "breakpoint_S", drop = TRUE]))))
|
||||
expect_false(any(is.na(as.mic(rsi_translation[which(rsi_translation$method == "MIC"), "breakpoint_R", drop = TRUE]))))
|
||||
expect_false(any(is.na(as.disk(rsi_translation[which(rsi_translation$method == "DISK"), "breakpoint_S", drop = TRUE]))))
|
||||
expect_false(any(is.na(as.disk(rsi_translation[which(rsi_translation$method == "DISK"), "breakpoint_R", drop = TRUE]))))
|
||||
|
||||
# antibiotic names must always be coercible to their original AB code
|
||||
expect_identical(as.ab(antibiotics$name), antibiotics$ab)
|
||||
|
||||
# there should be no diacritics (i.e. non ASCII) characters in the datasets (CRAN policy)
|
||||
datasets <- data(package = "AMR", envir = asNamespace("AMR"))$results[, "Item"]
|
||||
datasets <- data(package = "AMR", envir = asNamespace("AMR"))$results[, "Item", drop = TRUE]
|
||||
for (i in seq_len(length(datasets))) {
|
||||
dataset <- get(datasets[i], envir = asNamespace("AMR"))
|
||||
expect_identical(class(dataset), "data.frame")
|
||||
@ -62,8 +62,8 @@ for (i in seq_len(length(datasets))) {
|
||||
}
|
||||
|
||||
df <- AMR:::MO_lookup
|
||||
expect_true(nrow(df[which(df$prevalence == 1), ]) < nrow(df[which(df$prevalence == 2), ]))
|
||||
expect_true(nrow(df[which(df$prevalence == 2), ]) < nrow(df[which(df$prevalence == 3), ]))
|
||||
expect_true(nrow(df[which(df$prevalence == 1), , drop = FALSE]) < nrow(df[which(df$prevalence == 2), , drop = FALSE]))
|
||||
expect_true(nrow(df[which(df$prevalence == 2), , drop = FALSE]) < nrow(df[which(df$prevalence == 3), , drop = FALSE]))
|
||||
expect_true(all(c("mo", "fullname",
|
||||
"kingdom", "phylum", "class", "order", "family", "genus", "species", "subspecies",
|
||||
"rank", "ref", "species_id", "source", "prevalence", "snomed",
|
||||
|
@ -49,7 +49,7 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
mutate(out = first_isolate(., include_unknown = TRUE, method = "episode-based", info = FALSE))
|
||||
)
|
||||
y <- example_isolates %>%
|
||||
group_by(patient_id, mo) %>%
|
||||
group_by(patient, mo) %>%
|
||||
mutate(out = is_new_episode(date, 365))
|
||||
|
||||
expect_identical(which(x$out), which(y$out))
|
||||
|
@ -52,8 +52,8 @@ expect_equal(
|
||||
first_isolate(example_isolates,
|
||||
col_mo = "mo",
|
||||
col_date = "date",
|
||||
col_patient_id = "patient_id",
|
||||
col_icu = "ward_icu",
|
||||
col_patient_id = "patient",
|
||||
col_icu = example_isolates$ward == "ICU",
|
||||
info = TRUE,
|
||||
icu_exclude = TRUE),
|
||||
na.rm = TRUE),
|
||||
@ -67,7 +67,7 @@ x[random_rows, "specimen"] <- "Urine"
|
||||
expect_true(
|
||||
sum(first_isolate(x = x,
|
||||
col_date = "date",
|
||||
col_patient_id = "patient_id",
|
||||
col_patient_id = "patient",
|
||||
col_mo = "mo",
|
||||
col_specimen = "specimen",
|
||||
filter_specimen = "Urine",
|
||||
@ -76,11 +76,11 @@ expect_true(
|
||||
expect_true(
|
||||
sum(first_isolate(x = x,
|
||||
col_date = "date",
|
||||
col_patient_id = "patient_id",
|
||||
col_patient_id = "patient",
|
||||
col_mo = "mo",
|
||||
col_specimen = "specimen",
|
||||
filter_specimen = "Urine",
|
||||
col_icu = "ward_icu",
|
||||
col_icu = x$ward == "ICU",
|
||||
icu_exclude = TRUE,
|
||||
info = TRUE), na.rm = TRUE) < 1501)
|
||||
|
||||
@ -89,7 +89,7 @@ test_iso <- example_isolates
|
||||
test_iso$specimen <- "test"
|
||||
expect_message(first_isolate(test_iso,
|
||||
"date",
|
||||
"patient_id",
|
||||
"patient",
|
||||
col_mo = "mo",
|
||||
col_specimen = "specimen",
|
||||
filter_specimen = "something_unexisting",
|
||||
@ -99,13 +99,13 @@ expect_message(first_isolate(test_iso,
|
||||
expect_message(first_isolate(example_isolates,
|
||||
col_date = "date",
|
||||
col_mo = "mo",
|
||||
col_patient_id = "patient_id",
|
||||
col_patient_id = "patient",
|
||||
col_testcode = "gender",
|
||||
testcodes_exclude = "M",
|
||||
info = TRUE))
|
||||
|
||||
# errors
|
||||
expect_error(first_isolate("date", "patient_id", col_mo = "mo"))
|
||||
expect_error(first_isolate("date", "patient", col_mo = "mo"))
|
||||
expect_error(first_isolate(example_isolates,
|
||||
col_date = "non-existing col",
|
||||
col_mo = "mo"))
|
||||
@ -116,12 +116,12 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
mutate(mo = as.character(mo)) %>%
|
||||
first_isolate(col_date = "date",
|
||||
col_mo = "mo",
|
||||
col_patient_id = "patient_id",
|
||||
col_patient_id = "patient",
|
||||
info = FALSE),
|
||||
example_isolates %>%
|
||||
first_isolate(col_date = "date",
|
||||
col_mo = "mo",
|
||||
col_patient_id = "patient_id",
|
||||
col_patient_id = "patient",
|
||||
info = FALSE))
|
||||
|
||||
# support for WHONET
|
||||
@ -133,8 +133,8 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
first_isolate(info = TRUE))
|
||||
|
||||
# groups
|
||||
x <- example_isolates %>% group_by(ward_icu) %>% mutate(first = first_isolate())
|
||||
y <- example_isolates %>% group_by(ward_icu) %>% mutate(first = first_isolate(.))
|
||||
x <- example_isolates %>% group_by(ward) %>% mutate(first = first_isolate())
|
||||
y <- example_isolates %>% group_by(ward) %>% mutate(first = first_isolate(.))
|
||||
expect_identical(x, y)
|
||||
|
||||
}
|
||||
@ -146,7 +146,7 @@ expect_equal(
|
||||
sum(
|
||||
first_isolate(x = df,
|
||||
col_date = "date",
|
||||
col_patient_id = "patient_id",
|
||||
col_patient_id = "patient",
|
||||
col_mo = "mo",
|
||||
info = TRUE),
|
||||
na.rm = TRUE),
|
||||
|
@ -33,4 +33,4 @@ expect_false(antimicrobials_equal("SSS", "SIS", ignore_I = FALSE, type = "keyant
|
||||
expect_true(antimicrobials_equal(".SS", "SI.", ignore_I = TRUE, type = "keyantimicrobials"))
|
||||
expect_false(antimicrobials_equal(".SS", "SI.", ignore_I = FALSE, type = "keyantimicrobials"))
|
||||
|
||||
expect_warning(key_antimicrobials(example_isolates[rep(1, 10), ]))
|
||||
expect_warning(key_antimicrobials(example_isolates[rep(1, 10), , drop = FALSE]))
|
||||
|
@ -235,6 +235,6 @@ expect_warning(mdro(example_isolates,
|
||||
|
||||
# print groups
|
||||
if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
expect_stdout(x <- mdro(example_isolates %>% group_by(hospital_id), info = TRUE))
|
||||
expect_stdout(x <- mdro(example_isolates %>% group_by(hospital_id), guideline = custom, info = TRUE))
|
||||
expect_stdout(x <- mdro(example_isolates %>% group_by(ward), info = TRUE))
|
||||
expect_stdout(x <- mdro(example_isolates %>% group_by(ward), guideline = custom, info = TRUE))
|
||||
}
|
||||
|
@ -147,7 +147,8 @@ expect_identical(as.character(as.mo("S. salivarius", Lancefield = TRUE)), "B_S
|
||||
if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
# select with one column
|
||||
expect_identical(
|
||||
example_isolates[1:10, ] %>%
|
||||
example_isolates %>%
|
||||
slice(1:10) %>%
|
||||
left_join_microorganisms() %>%
|
||||
select(genus) %>%
|
||||
as.mo() %>%
|
||||
@ -157,9 +158,11 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
|
||||
# select with two columns
|
||||
expect_identical(
|
||||
example_isolates[1:10, ] %>%
|
||||
example_isolates %>%
|
||||
slice(1:10) %>%
|
||||
pull(mo),
|
||||
example_isolates[1:10, ] %>%
|
||||
example_isolates %>%
|
||||
slice(1:10) %>%
|
||||
left_join_microorganisms() %>%
|
||||
select(genus, species) %>%
|
||||
as.mo())
|
||||
|
@ -48,7 +48,7 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
|
||||
# percentages
|
||||
expect_equal(example_isolates %>%
|
||||
group_by(hospital_id) %>%
|
||||
group_by(ward) %>%
|
||||
summarise(R = proportion_R(CIP, as_percent = TRUE),
|
||||
I = proportion_I(CIP, as_percent = TRUE),
|
||||
S = proportion_S(CIP, as_percent = TRUE),
|
||||
@ -60,7 +60,7 @@ if (AMR:::pkg_is_available("dplyr", min_version = "1.0.0")) {
|
||||
|
||||
# count of cases
|
||||
expect_equal(example_isolates %>%
|
||||
group_by(hospital_id) %>%
|
||||
group_by(ward) %>%
|
||||
summarise(cipro_p = proportion_SI(CIP, as_percent = TRUE),
|
||||
cipro_n = n_rsi(CIP),
|
||||
genta_p = proportion_SI(GEN, as_percent = TRUE),
|
||||
@ -122,4 +122,4 @@ expect_warning(proportion_R(as.character(example_isolates$GEN)))
|
||||
expect_warning(proportion_I(as.character(example_isolates$GEN)))
|
||||
expect_warning(proportion_S(example_isolates$AMC, as.character(example_isolates$GEN)))
|
||||
expect_error(proportion_df(c("A", "B", "C")))
|
||||
expect_error(proportion_df(example_isolates[, "date"]))
|
||||
expect_error(proportion_df(example_isolates[, "date", drop = TRUE]))
|
||||
|
Reference in New Issue
Block a user