Description Usage Arguments Details Value References Examples
Deduce imputation values for categorical data. By substituting all known values and interatively eliminating the unknowns from the set of edits, unique imputation values are derived where possible.
1 2 | deductiveLevels(E, x, adapt = rep(FALSE, length(x)),
checkFeasibility = TRUE)
|
E |
editarray |
x |
a named |
adapt |
boolean vector indicating which variables may be adapted. |
checkFeasibility |
Test wether the assumed-correct values (observed and not designated by adapt) can lead to a consistent record. |
Imputation values are derived for missing variables (NA) and for variables indicated by 'adapt'.
A named vector with imputation values for x
T. De Waal, J. Pannekoek and S. Scholtus (2011) Handbook of statistical data editing Chpt 9.2.1 - 9.2.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # a simple example. We know the subject is pregnant. What is the gender?
E <- editarray(c(
"gender \%in\% c('male','female')",
"pregnant \%in\% c(TRUE,FALSE)",
"if ( gender=='male') !pregnant"))
# a record with unknown gender
x <- c(gender=NA,pregnant=TRUE)
# find imputations
(s <- deductiveLevels(E,x))
# imputation can be done as follows:
x[names(s)] <- s
# Here's an example from De Waal et al (2011) (ex. 9.3)
E <- editarray(c(
"x1 \%in\% letters[1:4]",
"x2 \%in\% letters[1:3]",
"x3 \%in\% letters[1:3]",
"x4 \%in\% letters[1:2]",
"if (x2 == 'c' & x3 != 'c' & x4 == 'a' ) FALSE",
"if (x2 != 'a' & x4 == 'b') FALSE",
"if (x1 != 'c' & x2 != 'b' & x3 != 'a') FALSE",
"if (x1 == 'c' & x3 != 'a' & x4 == 'a' ) FALSE"
))
x <- c(x1='c',x2='b',x3=NA,x4=NA)
(s <- deductiveLevels(E,x))
x[names(s)] <- s
# another example, partial imputation
y <- c(x1=NA,x2=NA,x3=NA,x4='b')
(s <- deductiveLevels(E,y))
y[names(s)] <- s
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.