Function getInfo()
is used to extract values from
sdcProblem
or problemInstance
objects
getInfo(object, type)
an object of class sdcProblem
or problemInstance
a scalar character specifying the information which should be
returned. If object
inherits class problemInstance
, the
slots are directly accessed, otherwise the values within slot problemInstance
of the sdcProblem
object are queried. Valid choices are:
the object has not yet been protected
lb
and ub
: current possible lower and upper bounds
LPL
, SPL
, UPL
: current lower, sliding and upper protection levels
sdcStatus
: current sdc-status of cells
freq
: cell frequencies
strID
: standardized cell ids (chr)
numVars
: NULL
or a list with a slot for each tabulated numerical variable;
w
: sampling weights or NULL
the table has already been protected
finalData
: protected table as a data.table
nrNonDuplicatedCells
: number of unique (non-bogus) cells in the table
nrPrimSupps
: number of primary sensitive cells that were protected
nrSecondSupps
: number of additional secondary suppressions
nrPublishableCells
: number of cells (status "s
or `"z") that may
be published
suppMethod
: name of the algorithm used to protect the table
manipulated data depending on arguments object
and type
# define an example problem with two hierarchies
p <- sdc_testproblem(with_supps = FALSE)
# apply primary suppression
p <- primarySuppression(p, type = "freq", maxN = 3)
# `p` is an `sdcProblem` object
print(class(p))
#> [1] "sdcProblem"
#> attr(,"package")
#> [1] "sdcTable"
for (slot in c("lb", "ub", "LPL", "SPL", "UPL", "sdcStatus",
"freq", "strID", "numVars", "w")) {
message("slot: ", shQuote(slot))
print(getInfo(p, type = slot))
}
#> slot: 'lb'
#> [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> slot: 'ub'
#> [1] 150 150 150 150 150 150 150 150 150 150 150 150 150 150 150
#> slot: 'LPL'
#> [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
#> slot: 'SPL'
#> [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#> slot: 'UPL'
#> [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
#> slot: 'sdcStatus'
#> [1] "s" "s" "s" "s" "s" "u" "s" "s" "s" "s" "s" "s" "s" "s" "s"
#> slot: 'freq'
#> [1] 100 55 45 20 18 2 33 14 19 22 12 10 25 11 14
#> slot: 'strID'
#> [1] "0000" "0001" "0002" "0100" "0101" "0102" "0200" "0201" "0202" "0300"
#> [11] "0301" "0302" "0400" "0401" "0402"
#> slot: 'numVars'
#> $val
#> [1] 1284 802 482 198 178 20 344 140 204 224 118 106 518 366 152
#>
#> slot: 'w'
#> NULL
# protect the cell and extract results
p_protected <- protectTable(p, method = "SIMPLEHEURISTIC")
for (slot in c("finalData", "nrNonDuplicatedCells", "nrPrimSupps",
"nrSecondSupps", "nrPublishableCells", "suppMethod")) {
message("slot: ", shQuote(slot))
print(getInfo(p_protected, type = slot))
}
#> slot: 'finalData'
#> region gender Freq val sdcStatus
#> 1: total total 100 1284 s
#> 2: total male 55 802 s
#> 3: total female 45 482 s
#> 4: A total 20 198 s
#> 5: A male 18 178 x
#> 6: A female 2 20 u
#> 7: B total 33 344 s
#> 8: B male 14 140 s
#> 9: B female 19 204 s
#> 10: C total 22 224 s
#> 11: C male 12 118 x
#> 12: C female 10 106 x
#> 13: D total 25 518 s
#> 14: D male 11 366 s
#> 15: D female 14 152 s
#> slot: 'nrNonDuplicatedCells'
#> [1] 15
#> slot: 'nrPrimSupps'
#> [1] 1
#> slot: 'nrSecondSupps'
#> [1] 3
#> slot: 'nrPublishableCells'
#> [1] 11
#> slot: 'suppMethod'
#> [1] "SIMPLEHEURISTIC"