ProtectTable with output ready for SuppressDec in package RegSDC
PTxyz.Rd
Assuming correct suppression, suppressed values become decimal numbers (not whole numbers) instead of missing.
Arguments
- data
data frame
- dimVar
The main dimensional variables and additional aggregating variables (name or number).
- freqVar
Variable(s) holding counts (name or number).
- ...
Further parameters sent to
ProtectTable
Value
List of three matrices ready as input to SuppressDec
- x
Sparse dummy matrix where the dimensions match z and y.
- z
Frequencies to be published with suppressed as NA.
- y
Inner cell frequencies.
Examples
if (FALSE) { # \dontrun{
# Same examples as in ProtectTable
a1 <- PTxyz(EasyData("z1"), c("region","hovedint") ,"ant")
a2 <- PTxyz(EasyData("z2"), c(1,3,4),5)
if (require(RegSDC)) { # RegSDCdata and SuppressDec
# Same data as in RegSDCdata examples (and in paper)
data7 <- RegSDCdata("sec7data")
data7 <- data7[!is.na(data7$y), 1:3]
data7
# Generate x, y, z similar to xAll, y, zAllSupp in RegSDCdata examples
# But different suppressed cells and z ordered differently
a <- PTxyz(data7, 1:2, 3, maxN = 3, method = "HITAS")
a
# Suppressed inner cells as decimal numbers
yDec <- SuppressDec(a$x, a$z, a$y, rmse = 1)
yDec
# All cells as decimal numbers
cbind(a$z, t(a$x) %*% cbind(a$y, yDec))
# As ProtectTable example
z1 <- EasyData("z1")
a <- PTxyz(z1, c("region", "hovedint"), "ant")
# Inner cells as decimal numbers. 3 replicates.
yDec <- SuppressDec(a$x, a$z, a$y, nRep = 3)
yDec
# All cells with 3 replicates.
cbind(a$z, t(a$x) %*% cbind(a$y, yDec))
}
if (require(RegSDC)) {
# An example involving two linked tables.
# It is demonstrated that the SIMPLEHEURISTIC approach to suppression is not safe.
# That is, perfect fit (whole numbers) for some suppressed cells.
a <- PTxyz(EasyData("z3"), 1:5, 7, method = "SIMPLEHEURISTIC", protectZeros= FALSE)
cbind(a$z, t(a$x) %*% cbind(a$y, SuppressDec(a$x, a$z, rmse=pi/3, nRep=3)))[which(is.na(a$z)), ]
}} # }