| create_ptable | R Documentation | 
ptable makes it easy to create perturbation tables that can be used for applying noise to statistical tables with any cell-key method approach - among others either the cellKey()-package or the standalone tool TauArgus.
The package provides four main functions to create the perturbation tables:
create_ptable(): generic function that creates a ptable, either for
frequency count or magnitude tables with a various set of options.
create_cnt_ptable(): creates a ptable suitable for frequency count
tables.
create_num_ptable(): creates a ptable suitable for magnitude tables
(i.e. with numerical variables).
modify_cnt_ptable(): modifies the ptable for a higher level of protection
create_ptable(
  D,
  V,
  js = 0,
  pstay = NULL,
  optim = 1,
  mono = TRUE,
  step = 1,
  icat = NULL,
  table = "cnts",
  type = "all",
  label = paste0("D", D, "V", V * 100),
  monitoring = FALSE,
  debugging = FALSE,
  create = TRUE,
  params = NULL
)
create_cnt_ptable(
  D,
  V,
  js = 0,
  pstay = NULL,
  optim = 1,
  mono = TRUE,
  label = paste0("D", D, "V", V * 100),
  monitoring = FALSE,
  create = TRUE
)
create_num_ptable(
  D,
  V,
  pstay = NULL,
  optim = 1,
  mono = TRUE,
  step = 2,
  icat = NULL,
  type = "all",
  label = paste0("D", D, "V", V * 100),
  monitoring = FALSE,
  create = TRUE
)
D | 
 perturbation parameter for maximum noise (scalar integer)  | 
V | 
 perturbation parameter for variance (scalar double)  | 
js | 
 threshold value for blocking of small frequencies (i.e. the perturbation will not produce positive cell values that are equal to or smaller than the threshold value). (scalar integer)  | 
pstay | 
 optional parameter to set the probability (0 < p < 1) of an original frequency to remain unperturbed: NA (default) no preset probability (i.e. produces the maximum entropy solution)  | 
optim | 
 optimization parameter:   | 
mono | 
 (logical) vector specifying optimization parameter for monotony condition  | 
step | 
 (integer) number of steps for the noise (between two integer
values). Whereas the cell-key approach
for frequency count tables only allows to have noise values that are
integers ( -D, 1-D, 2-D, ..., -1, 0, 1, ..., D-2, D-1, D the noise distribution for magnitude values does not have to be integer valued: -D, (1/step)-D, (2/step)-D, ..., 0, ..., D-(2/step), D-(1/step), D The reciprocal of step (='step width') is computed and used internally for the perturbation table.  | 
icat | 
 (integer) categorized original frequencies i  | 
table | 
 (character) type of the table: frequency count (  | 
type | 
 (character) type indicator for the extra column 'type' used for
magnitude tables:   | 
label | 
 (character) label of the Output  | 
monitoring | 
 (logical) output monitoring on/off  | 
debugging | 
 (logical) debug monitoring on/off  | 
create | 
 (logical) scalar specifying to create just the
input parameters of class ptable_params (  | 
params | 
 object of class ptable_params can be used as input instead of the remaining parameters  | 
The perturbation probabilities are constructed given the following constraints:
Maximum noise
Zero mean (unbiased noise)
Fixed noise variance
Transition probabilities are between zero and one and the sum up to 1
Perturbations will not produce negative cell values or positive cell values equal to or less than a specific threshold value
Returns ptable object including the
created perturbation table by default. If the argument create = FALSE,
a ptable_params object is returned.
plot() to analyze the created perturbation table visually
pt_export() to export the perturbation table for external sdcTools
like TauArgus or SAS.
# create ptable for frequency count tables create_cnt_ptable(D = 3, V = 1.08, js = 1, label = "ptable_frequency_tab") # create ptable for magnitude tables create_num_ptable(D = 5, V = 2, step = 4, icat = c(1, 3, 5)) # create ptable for frequency or magnitude tables create_ptable(D = 3, V = 1.08, js = 1, table="cnts") create_ptable(D = 5, V = 2, step = 4, icat = c(1, 4, 5), table="nums")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.