context("qtab") withr::local_locale(c(LC_COLLATE = "C")) set.seed(101) wldNA <- na_insert(wlddev) qtable <- function(...) { r <- qtab(...) oldClass(r) <- "table" attr(r, "sorted") <- NULL attr(r, "weighted") <- NULL r } ones <- alloc(1L, fnrow(wlddev)) attach(wlddev) expect_equal(table(region, income), qtable(region, income)) expect_equal(table(income, region), qtable(income, region)) expect_equal(table(region, income, OECD), qtable(region, income, OECD)) expect_equal(table(decade, region, income, OECD), qtable(decade, region, income, OECD)) expect_equal(table(decade, country), qtable(decade, country)) expect_equal(table(iso3c, country), qtable(iso3c, country)) expect_equal(table(iso3c, decade), qtable(iso3c, decade)) expect_equal(table(iso3c, OECD), qtable(iso3c, OECD)) expect_equal(table(region, income), qtable(region, income, w = ones)) expect_equal(table(income, region), qtable(income, region, w = ones)) expect_equal(table(region, income, OECD), qtable(region, income, OECD, w = ones)) expect_equal(table(decade, region, income, OECD), qtable(decade, region, income, OECD, w = ones)) expect_equal(table(decade, country), qtable(decade, country, w = ones)) expect_equal(table(iso3c, country), qtable(iso3c, country, w = ones)) expect_equal(table(iso3c, decade), qtable(iso3c, decade, w = ones)) expect_equal(table(iso3c, OECD), qtable(iso3c, OECD, w = ones)) expect_equal(qtable(region, income, w = ones), qtable(region, income, w = ones, wFUN = sum)) expect_equal(qtable(income, region, w = ones), qtable(income, region, w = ones, wFUN = sum)) expect_equal(qtable(region, income, OECD, w = ones), qtable(region, income, OECD, w = ones, wFUN = sum)) expect_equal(qtable(decade, region, income, OECD, w = ones), qtable(decade, region, income, OECD, w = ones, wFUN = sum)) expect_equal(qtable(decade, country, w = ones), qtable(decade, country, w = ones, wFUN = sum)) expect_equal(qtable(iso3c, country, w = ones), qtable(iso3c, country, w = ones, wFUN = sum)) expect_equal(qtable(iso3c, decade, w = ones), qtable(iso3c, decade, w = ones, wFUN = sum)) expect_equal(qtable(iso3c, OECD, w = ones), qtable(iso3c, OECD, w = ones, wFUN = sum)) expect_equal(qtable(region, income, w = ones), replace_NA(qtable(region, income, w = ones, wFUN = fsum))) expect_equal(qtable(income, region, w = ones), replace_NA(qtable(income, region, w = ones, wFUN = fsum))) expect_equal(qtable(region, income, OECD, w = ones), replace_NA(qtable(region, income, OECD, w = ones, wFUN = fsum))) expect_equal(qtable(decade, region, income, OECD, w = ones), replace_NA(qtable(decade, region, income, OECD, w = ones, wFUN = fsum))) expect_equal(qtable(decade, country, w = ones), replace_NA(qtable(decade, country, w = ones, wFUN = fsum))) expect_equal(qtable(iso3c, country, w = ones), replace_NA(qtable(iso3c, country, w = ones, wFUN = fsum))) expect_equal(qtable(iso3c, decade, w = ones), replace_NA(qtable(iso3c, decade, w = ones, wFUN = fsum))) expect_equal(qtable(iso3c, OECD, w = ones), replace_NA(qtable(iso3c, OECD, w = ones, wFUN = fsum))) detach(wlddev) attach(wldNA) expect_equal(table(region, income), qtable(region, income)) expect_equal(table(income, region), qtable(income, region)) expect_equal(table(region, income, OECD), qtable(region, income, OECD)) expect_equal(table(decade, region, income, OECD), qtable(decade, region, income, OECD)) expect_equal(table(decade, country), qtable(decade, country)) expect_equal(table(iso3c, country), qtable(iso3c, country)) expect_equal(table(iso3c, decade), qtable(iso3c, decade)) expect_equal(table(iso3c, OECD), qtable(iso3c, OECD)) expect_equal(table(region, income), qtable(region, income, w = ones)) expect_equal(table(income, region), qtable(income, region, w = ones)) expect_equal(table(region, income, OECD), qtable(region, income, OECD, w = ones)) expect_equal(table(decade, region, income, OECD), qtable(decade, region, income, OECD, w = ones)) expect_equal(table(decade, country), qtable(decade, country, w = ones)) expect_equal(table(iso3c, country), qtable(iso3c, country, w = ones)) expect_equal(table(iso3c, decade), qtable(iso3c, decade, w = ones)) expect_equal(table(iso3c, OECD), qtable(iso3c, OECD, w = ones)) expect_equal(qtable(region, income, w = ones), qtable(region, income, w = ones, wFUN = sum)) expect_equal(qtable(income, region, w = ones), qtable(income, region, w = ones, wFUN = sum)) expect_equal(qtable(region, income, OECD, w = ones), qtable(region, income, OECD, w = ones, wFUN = sum)) expect_equal(qtable(decade, region, income, OECD, w = ones), qtable(decade, region, income, OECD, w = ones, wFUN = sum)) expect_equal(qtable(decade, country, w = ones), qtable(decade, country, w = ones, wFUN = sum)) expect_equal(qtable(iso3c, country, w = ones), qtable(iso3c, country, w = ones, wFUN = sum)) expect_equal(qtable(iso3c, decade, w = ones), qtable(iso3c, decade, w = ones, wFUN = sum)) expect_equal(qtable(iso3c, OECD, w = ones), qtable(iso3c, OECD, w = ones, wFUN = sum)) expect_equal(qtable(region, income, w = ones), replace_NA(qtable(region, income, w = ones, wFUN = fsum))) expect_equal(qtable(income, region, w = ones), replace_NA(qtable(income, region, w = ones, wFUN = fsum))) expect_equal(qtable(region, income, OECD, w = ones), replace_NA(qtable(region, income, OECD, w = ones, wFUN = fsum))) expect_equal(qtable(decade, region, income, OECD, w = ones), replace_NA(qtable(decade, region, income, OECD, w = ones, wFUN = fsum))) expect_equal(qtable(decade, country, w = ones), replace_NA(qtable(decade, country, w = ones, wFUN = fsum))) expect_equal(qtable(iso3c, country, w = ones), replace_NA(qtable(iso3c, country, w = ones, wFUN = fsum))) expect_equal(qtable(iso3c, decade, w = ones), replace_NA(qtable(iso3c, decade, w = ones, wFUN = fsum))) expect_equal(qtable(iso3c, OECD, w = ones), replace_NA(qtable(iso3c, OECD, w = ones, wFUN = fsum))) expect_equal(table(region, income, useNA = "ifany"), qtable(region, income, na.exclude = FALSE)) expect_equal(table(income, region, useNA = "ifany"), qtable(income, region, na.exclude = FALSE)) expect_equal(table(region, income, OECD, useNA = "ifany"), qtable(region, income, OECD, na.exclude = FALSE)) expect_equal(table(decade, region, income, OECD, useNA = "ifany"), qtable(decade, region, income, OECD, na.exclude = FALSE)) expect_equal(table(decade, country, useNA = "ifany"), qtable(decade, country, na.exclude = FALSE)) expect_equal(table(iso3c, country, useNA = "ifany"), qtable(iso3c, country, na.exclude = FALSE)) expect_equal(table(iso3c, decade, useNA = "ifany"), qtable(iso3c, decade, na.exclude = FALSE)) expect_equal(table(iso3c, OECD, useNA = "ifany"), qtable(iso3c, OECD, na.exclude = FALSE)) expect_equal(table(region, income, useNA = "ifany"), qtable(region, income, w = ones, na.exclude = FALSE)) expect_equal(table(income, region, useNA = "ifany"), qtable(income, region, w = ones, na.exclude = FALSE)) expect_equal(table(region, income, OECD, useNA = "ifany"), qtable(region, income, OECD, w = ones, na.exclude = FALSE)) expect_equal(table(decade, region, income, OECD, useNA = "ifany"), qtable(decade, region, income, OECD, w = ones, na.exclude = FALSE)) expect_equal(table(decade, country, useNA = "ifany"), qtable(decade, country, w = ones, na.exclude = FALSE)) expect_equal(table(iso3c, country, useNA = "ifany"), qtable(iso3c, country, w = ones, na.exclude = FALSE)) expect_equal(table(iso3c, decade, useNA = "ifany"), qtable(iso3c, decade, w = ones, na.exclude = FALSE)) expect_equal(table(iso3c, OECD, useNA = "ifany"), qtable(iso3c, OECD, w = ones, na.exclude = FALSE)) expect_equal(table(region, income, useNA = "ifany"), qtable(region, income, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(income, region, useNA = "ifany"), qtable(income, region, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(region, income, OECD, useNA = "ifany"), qtable(region, income, OECD, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(decade, region, income, OECD, useNA = "ifany"), qtable(decade, region, income, OECD, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(decade, country, useNA = "ifany"), qtable(decade, country, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(iso3c, country, useNA = "ifany"), qtable(iso3c, country, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(iso3c, decade, useNA = "ifany"), qtable(iso3c, decade, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(iso3c, OECD, useNA = "ifany"), qtable(iso3c, OECD, w = ones, wFUN = sum, na.exclude = FALSE)) expect_equal(table(region, income, useNA = "ifany"), replace_NA(qtable(region, income, w = ones, wFUN = fsum, na.exclude = FALSE))) expect_equal(table(income, region, useNA = "ifany"), replace_NA(qtable(income, region, w = ones, wFUN = fsum, na.exclude = FALSE))) expect_equal(table(region, income, OECD, useNA = "ifany"), replace_NA(qtable(region, income, OECD, w = ones, wFUN = fsum, na.exclude = FALSE))) expect_equal(table(decade, region, income, OECD, useNA = "ifany"), replace_NA(qtable(decade, region, income, OECD, w = ones, wFUN = fsum, na.exclude = FALSE))) expect_equal(table(decade, country, useNA = "ifany"), replace_NA(qtable(decade, country, w = ones, wFUN = fsum, na.exclude = FALSE))) expect_equal(table(iso3c, country, useNA = "ifany"), replace_NA(qtable(iso3c, country, w = ones, wFUN = fsum, na.exclude = FALSE))) expect_equal(table(iso3c, decade, useNA = "ifany"), replace_NA(qtable(iso3c, decade, w = ones, wFUN = fsum, na.exclude = FALSE))) expect_equal(table(iso3c, OECD, useNA = "ifany"), replace_NA(qtable(iso3c, OECD, w = ones, wFUN = fsum, na.exclude = FALSE))) detach(wldNA) rm(qtable)