z3 <- SSBtoolsData("z3")
dimListsA <- SSBtools::FindDimLists(z3[, 1:6])
dimListsB <- SSBtools::FindDimLists(z3[, c(1, 4, 5)])
set.seed(123)
z <- z3[sample(nrow(z3),250),]
if (FALSE) {
out1 <- GaussSuppressionTwoWay(z, freqVar = "ant", hierarchies = dimListsA,
colVar = c("hovedint"))
}
out2 <- GaussSuppressionTwoWay(z, freqVar = "ant", hierarchies = dimListsA,
colVar = c("hovedint", "mnd"))
out3 <- GaussSuppressionTwoWay(z, freqVar = "ant", hierarchies = dimListsB,
colVar = c("region"))
out4 <- GaussSuppressionTwoWay(z, freqVar = "ant", hierarchies = dimListsB,
colVar = c("hovedint", "region"))
# "mnd" not in hierarchies -> duplicated combinations in input
# Error when preAggregate is FALSE: Index method failed. Duplicated combinations?
out5 <- GaussSuppressionTwoWay(z, freqVar = "ant", hierarchies = dimListsA[1:3],
protectZeros = FALSE, colVar = c("hovedint"), preAggregate = TRUE)
# charVar needed -> Still problem when preAggregate is TRUE
# Possible workaround by extra hierarchy
out6 <- GaussSuppressionTwoWay(z, freqVar = "ant", charVar = "mnd2",
hierarchies = c(dimListsA[1:3], mnd2 = "Total"), # include charVar
inputInOutput = c(TRUE, TRUE, FALSE), # FALSE -> only Total
protectZeros = FALSE, colVar = c("hovedint"),
preAggregate = TRUE,
hidden = function(x, data, charVar, ...)
as.vector((t(x) %*% as.numeric(data[[charVar]] == "M06M12")) == 0))
Run the code above in your browser using DataLab