if (FALSE) {
data(testdata)
# using a factor variable as input
res <- pram(as.factor(testdata$roof))
print(res)
summary(res)
# using a data.frame as input
# pram can only be applied to factors
# -- > we have to recode to factors beforehand
testdata$roof <- factor(testdata$roof)
testdata$walls <- factor(testdata$walls)
testdata$water <- factor(testdata$water)
# pram() is applied within subgroups defined by
# variables "urbrur" and "sex"
res <- pram(
obj = testdata,
variables = "roof",
strata_variables = c("urbrur", "sex"))
print(res)
summary(res)
# default parameters (pd = 0.8 and alpha = 0.5) for the generation
# of the invariant transition matrix will be used for all variables
res1 <- pram(
obj = testdata,
variables = c("roof", "walls", "water"))
print(res1)
## specific parameter settings for each variable
res2 <- pram(
obj = testdata,
variables = c("roof", "walls", "water"),
pd = c(0.95, 0.8, 0.9),
alpha = 0.5)
print(res2)
# detailed information on pram-parameters (such as the transition matrix 'Rs')
# is stored in the output, eg. for variable 'roof'
attr(res2, "pram_params")$roof
# we can also specify a custom transition-matrix directly
mat <- diag(length(levels(testdata$roof)))
rownames(mat) <- colnames(mat) <- levels(testdata$roof)
res3 <- pram(
obj = testdata,
variables = "roof",
pd = mat)
print(res3) # of course, nothing has changed!
# it is possible use a transition matrix for a variable and use the 'traditional' way
# of specifying a number for the minimal diagonal entries of the transision matrix
# for other variables. In this case we must supply `pd` as list.
res4 <- pram(
obj = testdata,
variables = c("roof", "walls"),
pd = list(mat, 0.5),
alpha = c(NA, 0.5))
print(res4)
summary(res4)
attr(res4, "pram_params")
# application to objects of class sdcMicro with default parameters
data(testdata2)
testdata2$urbrur <- factor(testdata2$urbrur)
sdc <- createSdcObj(
dat = testdata2,
keyVars = c("roof", "walls", "water", "electcon", "relat", "sex"),
numVars = c("expend", "income", "savings"),
w = "sampling_weight")
sdc <- pram(
obj = sdc,
variables = "urbrur")
print(sdc, type = "pram")
# this is equal to the previous application. If argument 'variables' is NULL,
# all variables from slot 'pramVars' will be used if possible.
sdc <- createSdcObj(
dat = testdata2,
keyVars = c("roof", "walls", "water", "electcon", "relat", "sex"),
numVars = c("expend", "income", "savings"),
w = "sampling_weight",
pramVars = "urbrur")
sdc <- pram(sdc)
print(sdc, type="pram")
# we can specify transition matrices for sdcMicroObj-objects too
testdata2$roof <- factor(testdata2$roof)
sdc <- createSdcObj(
dat = testdata2,
keyVars = c("roof", "walls", "water", "electcon", "relat", "sex"),
numVars = c("expend", "income", "savings"),
w = "sampling_weight")
mat <- diag(length(levels(testdata2$roof)))
rownames(mat) <- colnames(mat) <- levels(testdata2$roof)
mat[1,] <- c(0.9, 0, 0, 0.05, 0.05)
sdc <- pram(
obj = sdc,
variables = "roof",
pd = mat)
print(sdc, type = "pram")
# we can also have a look at the transitions
get.sdcMicroObj(sdc, "pram")$transitions
}
Run the code above in your browser using DataLab