Learn R Programming

sdcMicro (version 4.5.0)

pram: Post Randomization

Description

To be used on categorical data. It randomly change the values of variables on selected records (usually the risky ones) according to an invariant probability transition matrix.

Usage

pram(obj, variables=NULL,strata_variables=NULL,pd=0.8, alpha=0.5)
## S3 method for class 'pram':
print(x, ...)

Arguments

obj
Input data. Allowed input data are objects of class 'matrix', 'data.frame', 'vector' or 'sdcMicroObj'.
variables
Names of variables in 'obj' on which post-randomization should be applied. If obj is a vector, this argument is ignored.
strata_variables
Names of variables for stratification (will be set automatically for an object of class 'sdcMicroObj'
x
Output of pram()
...
further input, currently ignored.
pd
minimum diagonal entries for the generated transition matrix P. Either a vector of length 1 or a vector of length ( number of categories ).
alpha
amount of perturbation for the invariant Pram method

Value

  • a modified sdcMicroObj object or a new object containing original and post-randomized variables (with suffix "_pram").

References

http://www.gnu.org/software/glpk http://www.ccsr.ac.uk/sars/guide/2001/pram.pdf

Examples

Run this code
data(testdata)
res <- pram(testdata,
  variables="roof",
  strata_variables=c("urbrur","sex"))
print.pram(res)

res1 <- pram(testdata,variables=c("roof","walls","water"),strata_variables=c("urbrur","sex"))
print.pram(res1)
res2 <- pram(testdata,variables=c("roof","walls","water"),
  strata_variables=NULL)
print.pram(res2)

## for objects of class sdcMicro:
data(testdata2)
sdc <- createSdcObj(testdata2,
  keyVars=c('roof','walls','water','electcon','relat','sex'), 
  numVars=c('expend','income','savings'), w='sampling_weight')
sdc <- pram(sdc, variables=c("urbrur"))

Run the code above in your browser using DataLab