createArgusInput {sdcTable} | R Documentation |
Create input files for tauArgus
Description
create required input-files and batch-file for tau-argus given an sdcProblem object
Usage
createArgusInput(
obj,
typ = "microdata",
verbose = FALSE,
path = getwd(),
solver = "FREE",
method,
primSuppRules = NULL,
responsevar = NULL,
shadowvar = NULL,
costvar = NULL,
requestvar = NULL,
holdingvar = NULL,
...
)
Arguments
obj |
an object of class sdcProblem from |
typ |
(character) either |
verbose |
(logical) if TRUE, the contents of the batch-file are written to the prompt |
path |
path, into which (temporary) files will be written to (amongst them being the batch-files). Each file written to this folder belonging to the same problem contains a random id in its filename. |
solver |
which solver should be used. allowed choices are
In case |
method |
secondary cell suppression algorithm, possible choices include:
|
primSuppRules |
rules for primary suppression, provided as a
|
responsevar |
which variable should be tabulated (defaults to frequencies). For details see tau-argus manual section 4.4.4. |
shadowvar |
if specified, this variable is used to apply the safety rules, defaults to |
costvar |
if specified, this variable describes the costs of suppressing each individual cell. For details see tau-argus manual section 4.4.4. |
requestvar |
if specified, this variable (0/1-coded) contains information about records that request protection. Records with 1 will be protected in case a corresponding request rule matches. It is ignored, if tabular input is used. |
holdingvar |
if specified, this variable contains information about records that should be grouped together. It is ignored, if tabular input is used. |
... |
allows to specify additional parameters for selected suppression-method as described above
as well as |
Value
the filepath to the batch-file
Examples
## Not run:
# loading micro data from sdcTable
utils::data("microdata1", package="sdcTable")
microdata1$num1 <- rnorm(mean = 100, sd = 25, nrow(microdata1))
microdata1$num2 <- round(rnorm(mean = 500, sd=125, nrow(microdata1)),2)
microdata1$weight <- sample(10:100, nrow(microdata1), replace = TRUE)
dim_region <- hier_create(root = "Total", nodes = LETTERS[1:4])
dim_region_dupl <- hier_create(root = "Total", nodes = LETTERS[1:4])
dim_region_dupl <- hier_add(dim_region_dupl, root = "B", nodes = c("b1"))
dim_region_dupl <- hier_add(dim_region_dupl, root = "D", nodes = c("d1"))
dim_gender <- hier_create(root = "Total", nodes = c("male", "female"))
dimList <- list(region = dim_region, gender = dim_gender)
dimList_dupl <- list(region = dim_region_dupl, gender = dim_gender)
dimVarInd <- 1:2
numVarInd <- 3:5
sampWeightInd <- 6
# creating an object of class \code{\link{sdcProblem-class}}
obj <- makeProblem(
data = microdata1,
dimList = dimList,
dimVarInd = dimVarInd,
numVarInd = numVarInd,
sampWeightInd = sampWeightInd)
# creating an object of class \code{\link{sdcProblem-class}} containing "duplicated" codes
obj_dupl <- makeProblem(
data = microdata1,
dimList = dimList_dupl,
dimVarInd = dimVarInd,
numVarInd = numVarInd,
sampWeightInd = sampWeightInd)
## create primary suppression rules
primSuppRules <- list()
primSuppRules[[1]] <- list(type = "freq", n = 5, rg = 20)
primSuppRules[[2]] <- list(type = "p", n = 5, p = 20)
# other supported formats are:
# list(type = "nk", n=5, k=20)
# list(type = "zero", rg = 5)
# list(type = "mis", val = 1)
# list(type = "wgt", val = 1)
# list(type = "man", val = 20)
## create batchInput object
bO_md1 <- createArgusInput(
obj = obj,
typ = "microdata",
path = tempdir(),
solver = "FREE",
method = "OPT",
primSuppRules = primSuppRules,
responsevar = "num1")
bO_td1 <- createArgusInput(
obj = obj,
typ = "tabular",
path = tempdir(),
solver = "FREE",
method = "OPT")
bO_td2 <- createArgusInput(
obj = obj_dupl,
typ = "tabular",
path = tempdir(),
solver = "FREE",
method = "OPT")
## in case CPLEX should be used, it is required to specify argument licensefile
bO_md2 <- createArgusInput(
obj = obj,
typ = "microdata",
path = tempdir(),
solver = "CPLEX",
method = "OPT",
primSuppRules = primSuppRules,
responsevar = "num1",
licensefile = "/path/to/my/cplexlicense")
## End(Not run)