tests/testthat/test-imputation.R

context("Imputation")
data(bank, package = "flipExampleData")

dat <- data.frame(a = rep((1:10)/10,2),
                  b = rep(1:10,2),
                  c = factor(rep(c(rep("A",5),rep("B",5)),2)),
                  d = ordered(rep(c(rep("A",5),rep("B",5)),2)), e = rep("dog",20), stringsAsFactors = FALSE)
for (i in 1:5)
    dat[i, i] <- NA


test_that("Imputation algorithms",
{
    # Default
    si <- Imputation(dat)[[1]]
    expect_equal(nrow(si), 20)
    expect_equal(attr(si, "imputation.method"), "hot decking")

    si <- Imputation(dat, ~ a + b + c + d)[[1]]
    expect_equal(nrow(si), 20)
    expect_equal(attr(si, "imputation.method"), "hot decking")

    si <- Imputation(dat, a  ~ b + c + d)[[1]]
    expect_equal(nrow(si), 19)
    expect_equal(attr(si, "imputation.method"), "hot decking")

    # mice errors
    expect_error(Imputation(dat, method = "mice"), "Mice imputation failed.")
    expect_error(Imputation(dat,  ~ a + b + c + d, method = "mice"), "Mice imputation failed.")

    #choice of algorithm.
    si <- Imputation(bank, method = "mice")[[1]]
    expect_equal(attr(si, "imputation.method"), "chained equations (predictive mean matching)")

    si <- Imputation(bank, method = "hot deck")[[1]]
    expect_equal(attr(si, "imputation.method"), "hot decking")
})


test_that("Multiple imputation",
          {
              data("bank", package = "flipExampleData")
              zbank <- bank[1:100, 2:8]
              est <- Imputation(zbank, Overall ~ Fees + Branch, m = 10, seed = 1233)
              expect_equal(length(est), 10)
          })

test_that("Attributes are retained",
{
    data("bank", package = "flipExampleData")
    zbank <- bank[1:100, 2:8]
    attr(zbank$Fees, "label") <- "THe Fees"
    attr(zbank$Overall, "label") <- "Big dog"
    est <- Imputation(zbank, Overall ~ Fees + Branch, m = 10, seed = 1233)
    expect_equal(attr(est[[1]]$Overall, "label"), "Big dog")
    expect_equal(attr(est[[1]]$Fees, "label"), "THe Fees")
})


test_that("Errors with missing values",
{
    d <- data.frame(y = 1:10, x = 1:10)
    expect_warning(Imputation(d, y ~ x, m = 1, seed = 1233), NA) # nothing missing
    d$y[2] <- NA
    expect_warning(Imputation(d, y ~ x, m = 1, seed = 1233),
                  "Imputation has been selected, but the data has no missing values in the predictors, so nothing has been imputed.")
    d$x[2] <- NA
    expect_warning(Imputation(d, y ~ x, m = 1, seed = 1233),
                   "Imputation has been selected, but the data has no missing values in the predictors, so nothing has been imputed.")
    d$x[5] <- NA
    expect_error(Imputation(d, y ~ x, m = 1, seed = 1233), NA)
})

test_that("Numeric or integer columns with levels",
{
    data("cola", package = "flipExampleData")
    cola <- cola[1:150,]
    cola$Q2[1:100] <- NA
    cola$Q3 <- unclass(cola$Q3)
    result <- Imputation(cola[c("Q2", "Q3")])[[1]]
    # CE-437: mice used to crash, such that hot decking was used instead.
    expect_equal(attr(result, "imputation.method"), "chained equations (predictive mean matching)")
})



data(pcaPhoneTestData, package = "flipExampleData")
test.data.1 <- pcaPhoneTestData$data.set # Most cases have some missing observations (named "q23 20% Missing" in SPSS file)

dat2 <- structure(list(`q23 20% Missing: Allows to keep in touch ` = structure(c(1,
1, 1, NA, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, NA, 2, 1, 1, 2, 2, 1,
1, 1, 2, NA, 1, 1, 1, 5, NA, 1, 1, 1, 2, NA, 1, 1, 1, 1, 1, 1,
NA, NA, 1, NA, 1, 1, 1, 1, 2, 1, 1, 2, 1, NA, 1, 1, 2, 2, 1,
1, 1, 2, 1, 5, 1, 1, 1, 1, 1, 1, 2, 3, NA, 3, 1, 1, 1, NA, NA,
NA, 1, 1, 1, 1, 2, NA, 1, 1, NA, 1, NA, 1, NA, 1, 1, 1, 2, 1,
1, NA, 1, 2, 1, 1, NA, 1, NA, 2, NA, 1, 1, 1, 1, 1, 1, 1, NA,
2, 1, NA, 1, 1, 1, 1, 1, NA, NA, NA, 1, 1, NA, 1, 1, 1, 2, 2,
2, NA, 2, NA, 1, NA, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, NA,
2, 1, 1, 1, 1, 1, 1, 1, 1, 1, NA, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, NA, 1, 1, 1, NA, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, NA, 1,
2, NA, NA, NA, 1, 1, 2, 1, 4, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, NA,
1, 1, NA, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, NA, 1, 2, 1, 1, 1, 1,
1, 1, 1, 1, 1, NA, 1, 1, 2, 1, 1, 1, 1, 1, 1, NA, 1, 2, NA, 1,
1, 1, 1, 1, 1, 1, 1, 2, 1, 2, NA, 1, 1, NA, 1, 1, 1, 1, NA, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, NA, 1, 1, 1, 2, 2, NA, 2, NA, 1,
1, 1, 1, 1, 1, 1, NA, 2, NA, NA, 1, 1, NA, NA, 2, 1, 2, 1, 1,
2, 1, 1, 1, 1, 2, 2, 1, 1, NA, 1, 1, NA, NA, 1, 1, 1, NA, NA,
1, NA, 1, 1, 1, NA, 1, NA, NA, 1, NA, 3, 1, 1, 1, 2, 1, 1, NA,
1, 1, 1, 1, 1, NA, 3, 2, 1, 1, 1, 1, NA, 1, 1, 1, 1, NA, 1, 1,
NA, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, NA, 1, 1, 3, 1, 1, 1, 1, 1,
1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 2, NA, 1, NA, 1, 1, 1, NA, 1,
1, 2, 2, 1, 1, 1, NA, 1, 1, 1, 1, 1, 1, NA, NA, 1, NA, 1, NA,
1, NA, 1, NA, 1, 1, 1, 1, 2, NA, 1, 2, 1, 1, 1, NA, 1, 2, 1,
1, NA, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, NA,
NA, 1, 1, 2, 1, 1, 1, NA, NA, 1, NA, 1, 1, 1, 1, 1, NA, NA, 1,
NA, 1, 1, 1, 1, NA, 1, 1, 1, NA, 1, 1, 1, NA, 1, 2, 1, 1, 1,
NA, 1, 1, 2, 2, NA, 1, NA, 1, 1, NA, NA, 1, 1, 2, 1, 1, 1, 1,
1, 2, 1, 1, NA, NA, 1, 1, 1, NA, 2, 1, 3, 1, 1, 2, 1, NA, 1,
NA, NA, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, NA,
1, 1, 1, 1, 1, 4, 2, NA, 1, 1, 1, 1, 1, 2, NA, 1, NA, 1, NA,
1, 1, NA, 1, 1, 1, 1, 1, 1, 1, 1, 3, NA, 1, NA, 1, 3, NA, NA,
1, 2, 3, 1, NA, 2, NA, 1, 1, 1, 1, 2, NA, 3, 2, 1, 1, 2), label = structure("q23 20% Missing: Allows to keep in touch ", .Names = "q2320_1")),
    `q23 20% Missing: Technology fascinating ` = structure(c(3,
    3, NA, NA, 2, 2, 3, 2, 2, 3, NA, 4, 3, 2, NA, 5, NA, 3, NA,
    2, NA, 1, NA, 1, NA, 2, NA, 2, NA, 1, 3, 4, 2, NA, 1, 1,
    2, 2, 2, 3, 3, 2, 3, 1, 1, 3, 3, 3, 3, 4, 5, 5, 3, 3, 3,
    2, 3, 5, 4, NA, 2, 1, 4, NA, 2, 2, 1, NA, NA, NA, 3, NA,
    2, 2, 3, 1, 2, 4, 3, NA, 1, NA, 2, NA, NA, 3, 5, NA, 1, 2,
    NA, 3, 3, 2, 2, 2, 1, NA, NA, 4, 3, 2, 3, 3, 2, 3, 3, 1,
    1, 2, 2, NA, 1, 1, 1, NA, 2, 1, 3, 5, 4, NA, 2, 2, 2, 2,
    NA, 2, NA, 2, 2, 5, 2, 5, 3, 2, 2, 2, NA, 4, 1, NA, 2, 2,
    2, 2, 2, 2, 3, 1, 3, 5, 3, 1, 4, 2, 3, 2, 3, 5, 2, 4, 4,
    4, 3, NA, 5, 5, 1, 2, 5, 5, 3, NA, NA, 1, 3, 2, NA, 3, 3,
    NA, 1, 5, 2, 2, 5, 2, NA, 3, 4, NA, 1, 3, 2, 3, 4, 3, 3,
    NA, 2, NA, 4, 3, 2, 3, 1, NA, NA, 5, NA, 1, NA, NA, 2, 2,
    2, 2, 2, 2, 2, 3, 4, 3, 1, NA, 2, 3, 3, 2, 1, 2, 3, 2, NA,
    1, 2, 2, NA, 3, 2, 3, 2, 3, NA, 1, 2, 2, NA, NA, 2, NA, 5,
    2, 3, 5, 1, 2, 5, 1, NA, 1, 5, 3, 2, 5, 2, 4, 2, 2, 3, 2,
    2, 2, 2, 3, 3, 2, 4, 4, 1, 2, NA, 1, 4, 2, 2, 3, 4, 2, NA,
    2, 4, 2, NA, 2, NA, 1, 1, 1, 2, 3, 1, 1, 3, 2, NA, 4, NA,
    3, NA, 5, 3, 4, NA, 2, 2, 4, 1, 1, NA, 3, 5, 3, 5, 3, 3,
    1, NA, 2, 4, 2, 3, 3, 5, NA, 3, NA, 1, 3, 4, NA, 3, 3, 1,
    3, NA, 2, 2, 2, 4, 3, 4, 2, 2, 5, 5, NA, 1, 2, 2, NA, 2,
    3, 2, 4, 3, 5, NA, 1, 3, 1, 3, 3, 3, 2, 4, 2, 5, 2, NA, NA,
    NA, 2, 1, 3, NA, 4, 4, 5, 5, 4, 2, 2, 3, 5, 3, 2, 2, 2, 1,
    2, 2, 3, 5, NA, 2, 1, 4, 5, 3, NA, 3, 2, 3, 3, 3, 4, 3, 3,
    NA, 5, NA, 3, 4, 4, 4, 1, 2, NA, 5, NA, 2, 2, 4, 4, 4, 3,
    2, 3, 2, NA, 2, NA, 3, 2, 2, 3, 2, 3, 3, 2, 2, 4, 4, 3, 2,
    NA, 2, 2, 4, 2, NA, 5, 1, 1, 1, 4, 2, 2, 3, 3, 1, 3, 3, 2,
    1, 5, 5, 5, 2, 5, 2, 3, 2, 2, 4, 2, NA, 1, 4, 2, 2, 5, 5,
    3, NA, 3, 2, NA, 2, NA, 3, 4, NA, 3, 5, 2, 2, NA, 3, NA,
    3, 3, NA, 2, 3, NA, 3, NA, 1, 2, 2, NA, 3, NA, NA, 3, 1,
    NA, 2, 1, NA, NA, 4, 1, NA, 2, 2, 2, 5, NA, 3, 1, NA, NA,
    1, 1, NA, 5, 2, 3, 2, 1, 2, 3, 1, 5, 2, 2, NA, 2, 4, NA,
    3, 3, 3, NA, 3, 2, 2, NA, NA, NA, 3, 2, 1, 1, 2, 3, 3, NA,
    NA, 5, 3, 5, NA, 3, 3, 4, 2, 2, 2, 2, 5, 5, 1, 5, 3, 2, 2,
    3, NA, 3, 2, NA, 3, 5, 2, 3, 4, 2, NA, NA, NA, NA, 2, 5,
    4, 3, NA, 1, 3), label = structure("q23 20% Missing: Technology fascinating ", .Names = "q2320_2")),
    `q23 20% Missing: Like look of phones ` = structure(c(4,
    2, 2, 1, 1, 1, 5, 3, 3, NA, 1, 4, 4, 5, NA, 5, 3, NA, 3,
    2, 2, 1, 1, 1, 1, 1, 2, NA, 4, 1, 3, 2, 3, 3, 2, 2, 4, 3,
    2, 2, 2, 2, NA, 2, NA, 2, 1, 4, 4, 4, NA, 3, 2, NA, NA, 1,
    2, NA, 2, 4, 1, 1, 3, 2, 1, 1, 1, NA, 1, 3, NA, 3, 2, 3,
    3, 1, 2, 2, NA, NA, NA, NA, NA, 1, NA, 3, 4, 2, NA, 3, 3,
    NA, 3, 1, 3, 4, 2, 3, 2, NA, 3, 2, 3, 3, 2, 2, 2, 1, 1, 1,
    NA, 2, 1, 2, 4, 3, 1, 3, 3, 3, 5, 1, NA, 1, 1, 1, NA, 2,
    1, NA, 2, NA, 3, 3, 3, 1, 2, 2, NA, NA, NA, 1, 2, NA, 1,
    3, NA, 2, 3, 2, 3, 5, 2, 1, 2, 2, 4, 2, 4, NA, 2, 1, 2, 2,
    NA, NA, NA, NA, 1, 1, NA, 1, 2, 1, 1, NA, NA, 2, 1, NA, 3,
    3, 1, NA, 2, NA, 4, 2, 4, 2, 3, 2, 1, 2, NA, 2, 5, 2, 2,
    2, NA, 3, 1, NA, 4, 2, 2, 2, 3, NA, 2, 1, 2, 4, 1, 2, 2,
    1, 2, 2, NA, NA, 4, 3, 2, NA, 3, NA, 3, NA, 3, 3, 2, 2, NA,
    1, NA, NA, 3, 1, 3, 3, 2, 2, 5, NA, 1, 1, 2, 1, 2, NA, 5,
    1, 3, 3, 5, 1, 5, 2, 1, 2, 4, 3, 3, 5, 1, 5, 2, 2, 3, NA,
    2, 2, NA, 3, 3, 1, 3, 2, 1, NA, 4, 3, 2, 2, 2, NA, 4, 2,
    NA, 1, 2, NA, NA, 3, NA, 1, 1, 1, NA, 3, 1, NA, 2, 4, 2,
    NA, 1, 2, NA, 5, NA, 2, 2, 3, 2, 3, 2, 1, 2, NA, 2, 2, 4,
    1, NA, 1, 1, 2, 2, 1, 3, 3, 2, 2, 2, 2, NA, 3, 4, 3, 2, 3,
    2, 3, 4, NA, 4, NA, 4, NA, 2, 1, 3, 1, NA, 2, NA, 2, 1, 2,
    3, NA, 3, 4, 3, 2, 2, 1, 5, 2, NA, 1, 4, 3, 5, 3, 3, NA,
    2, 2, 3, 2, 3, 1, 2, 4, NA, 3, 3, 1, 3, NA, NA, 3, 4, NA,
    NA, NA, 1, NA, 2, 2, NA, NA, 2, 2, 3, NA, 2, 2, 3, 1, 2,
    3, 2, 2, 2, 3, 4, NA, NA, 3, 2, 1, 2, 3, 1, NA, NA, 1, 2,
    1, 4, 1, 2, 2, NA, 2, 3, 2, 3, 3, 2, 2, 1, 2, 2, 3, 3, 2,
    1, 5, NA, 4, NA, 2, 2, 1, 4, 2, 2, 3, NA, 1, 1, 2, 3, 2,
    3, 2, 1, 1, NA, NA, 1, 4, 5, 5, 3, 5, NA, 2, NA, NA, NA,
    2, NA, NA, 4, 2, 3, NA, NA, 3, 3, 3, 3, 4, 3, 2, 2, 2, NA,
    NA, 3, 2, 3, 1, 4, 1, 4, 3, NA, 2, 2, NA, 3, NA, 1, NA, 2,
    2, 2, 2, 2, 2, 2, 2, 2, NA, 2, 3, 4, 2, 2, NA, 1, 1, 1, 2,
    3, 3, 1, 1, 2, NA, NA, NA, NA, NA, 4, 3, NA, 4, 3, 3, 1,
    1, NA, 1, 2, 4, 3, 3, 3, 1, 2, 2, 2, 2, 2, 5, 3, 3, NA, 3,
    1, 3, 3, 1, 2, NA, 2, 4, 3, 2, NA, 2, 1, NA, NA, NA, 3, 2,
    NA, NA, 3, 3, 3, 5, NA, 2, NA, NA, NA, 3, 1, 3, 3, 1, 2,
    1, 1, NA, 1, NA, 2, 3, 3, 2, 1), label = structure("q23 20% Missing: Like look of phones ", .Names = "q2320_3")),
    `q23 20% Missing: Surprised by bill size ` = structure(c(2,
    1, 4, 3, 2, 2, 2, 1, 1, 2, 2, 4, 3, 4, NA, 4, 2, 1, 4, 2,
    NA, NA, 2, 1, 1, NA, 3, 1, 2, 1, 3, 2, 3, NA, 1, 2, 2, 2,
    NA, 2, 3, 3, 4, 3, 1, 2, 1, 2, 1, 1, 2, NA, 2, 4, 1, 1, 1,
    3, 4, 2, 1, 3, 2, 1, 5, 2, 1, 2, 1, NA, 1, 5, 3, 5, NA, 3,
    1, NA, 2, 1, 1, 3, 2, 1, 2, NA, 1, 1, 3, 3, 1, NA, 2, 3,
    1, 1, NA, 2, 4, 4, 3, 3, 1, 1, 3, 2, 1, 1, 2, 1, 4, 5, NA,
    1, 5, 2, 1, NA, 4, 2, NA, NA, 1, 3, 1, 1, NA, NA, 3, 4, NA,
    1, 4, NA, 2, 1, 2, 2, NA, 1, 3, 1, 1, 1, 2, 1, 4, 1, NA,
    3, 5, 2, NA, NA, NA, 1, 1, 2, 2, NA, 3, 5, 3, 3, NA, 1, 1,
    4, NA, 1, 2, 1, 4, 4, 2, NA, 3, 1, NA, 1, NA, 1, 1, 4, NA,
    1, 2, NA, 2, 1, 3, 1, NA, 1, 4, 1, 1, 1, 4, NA, 2, 2, 1,
    1, NA, 1, 1, 1, 2, NA, 4, 1, NA, 2, NA, 4, 1, 2, 3, NA, NA,
    NA, 1, NA, 2, 3, 2, 2, 1, 1, 3, 2, 4, 2, NA, NA, 4, 3, NA,
    5, 2, 4, 3, NA, 5, NA, 4, 1, 3, 1, NA, 3, NA, 1, 5, 1, 5,
    2, 1, 5, 3, 1, 2, 2, 2, 5, 1, 5, NA, 1, NA, 2, 1, 4, NA,
    1, NA, 2, NA, NA, 2, 1, 2, 3, 1, 2, 1, NA, 3, NA, NA, 1,
    NA, 4, NA, 1, 1, NA, 2, 1, NA, NA, NA, NA, 1, 2, 3, 4, 3,
    3, 1, 5, 1, NA, NA, 5, 2, NA, 1, 1, 4, NA, 5, 1, 1, 3, NA,
    NA, 1, 1, NA, NA, NA, 2, 3, 3, 3, 5, NA, 2, NA, 2, 2, 4,
    NA, 2, NA, 1, NA, 2, 4, 5, NA, 2, 1, 2, 3, 3, NA, 1, NA,
    2, 1, 2, 2, 3, NA, 5, 1, 1, NA, 2, 1, 1, 5, 4, 3, 2, 3, 3,
    4, 1, 3, 2, 2, 1, 2, 4, 4, NA, 5, 3, 5, 2, 3, 3, NA, 2, 2,
    1, 5, 2, 1, NA, 4, 3, 1, NA, NA, 5, NA, 4, 2, 1, 2, 3, 1,
    2, 2, 5, 2, 2, 1, 1, 1, 1, NA, NA, 1, NA, NA, 1, 1, 1, NA,
    2, 2, 3, 2, 2, 1, NA, 2, 2, 5, 3, 2, 2, 3, NA, 2, 1, 4, NA,
    3, 2, NA, 1, 2, 3, 4, 1, 4, 3, 2, 1, 2, 2, NA, NA, 4, 1,
    2, 4, 2, 3, 2, NA, 2, NA, 2, 4, 2, 2, NA, 3, 3, 1, 2, 1,
    NA, 1, NA, 2, 1, 2, 4, NA, 3, 2, 3, 1, 2, 4, NA, 1, NA, NA,
    2, 4, 4, 1, 4, NA, NA, 2, 2, 2, NA, 3, NA, 2, 1, 1, 2, 1,
    1, 1, 3, 3, 2, NA, 4, 3, 2, NA, 2, 2, NA, 2, 1, 3, 2, 4,
    NA, NA, 3, 1, NA, 2, 1, 3, NA, 1, NA, NA, 2, 4, 2, 3, 4,
    3, 1, 2, 2, 4, 1, 1, NA, 2, 1, NA, 3, 5, 2, 1, 4, 4, 1, 3,
    NA, 4, 4, NA, 2, 5, NA, NA, 4, 1, 1, NA, 2, 2, NA, 2, 1,
    NA, 3, NA, 1, 1, 2, 2, NA, 4, 1, 3, 2, 3, 2, 3, 2, NA, 3,
    1, 2, 3, NA, 5, 4, 2, NA), label = structure("q23 20% Missing: Surprised by bill size ", .Names = "q2320_4")),
    `q23 20% Missing: Stops other people monitoring ` = structure(c(3,
    3, 5, 5, 3, NA, 5, 5, 5, 5, 2, 3, NA, 3, NA, 3, 3, 5, 5,
    3, 2, 2, 3, 2, NA, NA, 3, 5, NA, NA, 4, 3, 3, 4, 3, 3, 4,
    3, 3, NA, 4, 2, 2, 2, NA, 4, 4, 5, 3, 5, 3, 5, NA, NA, 5,
    3, 3, NA, 4, NA, NA, 2, 4, 1, NA, 4, 3, NA, 3, 4, 3, 5, NA,
    NA, 5, 3, 3, 3, 3, 3, 5, NA, 3, 3, 3, 3, 3, 5, 3, NA, 3,
    3, 3, NA, 2, 3, 4, NA, 3, 4, 5, 4, 2, 3, 4, NA, 3, 3, 2,
    4, 5, 5, 4, 2, 5, 3, 3, NA, 2, 1, 5, 4, NA, 3, 2, 3, NA,
    2, NA, NA, NA, 2, 5, NA, 1, NA, 2, 2, NA, 2, 2, 2, 2, 2,
    2, NA, 1, NA, 3, 5, 5, 5, 5, 5, 5, 5, 3, 3, 5, 5, 3, NA,
    2, 3, 3, 5, 3, 5, 4, 3, 3, 3, 4, 5, 4, 4, 5, 2, 4, 1, 3,
    3, 4, NA, 3, 2, 4, NA, NA, 3, 2, 2, 3, NA, NA, 2, 3, 3, 2,
    1, 4, NA, NA, NA, 3, 3, 3, 5, 3, 5, 1, 1, NA, 1, 1, 3, 4,
    3, 4, 3, NA, NA, 3, 4, 3, 3, 4, 3, 3, 3, 3, 4, 4, NA, NA,
    2, NA, 1, 5, 3, NA, NA, 3, 5, 5, 1, 5, 1, 2, 2, NA, 2, NA,
    1, 3, 5, 3, 4, 5, 5, 2, 3, 2, 3, NA, 5, NA, 3, 3, 2, 4, NA,
    NA, 5, 3, 3, 3, 3, NA, NA, 4, 3, 3, 5, 5, 3, 4, 3, 2, 2,
    3, 4, NA, 5, NA, 5, 1, 3, 1, 3, 5, 2, 1, 3, 3, 2, 3, NA,
    NA, 5, 3, 5, 3, 5, 3, 2, 5, 5, 2, 3, NA, 4, 5, NA, 3, 3,
    5, NA, 3, 3, 4, 4, 3, 3, 3, 4, 3, 5, 3, NA, 4, 4, 4, 4, 4,
    3, 3, 3, 2, 1, NA, NA, 4, 2, 5, 1, 3, 5, 4, 5, NA, 4, 3,
    4, 3, 5, 3, 5, 1, 5, 5, 3, 5, NA, 3, 3, 4, 3, 5, NA, 3, 3,
    5, NA, NA, 4, NA, NA, 3, NA, 5, 2, NA, NA, 3, 3, NA, 2, 3,
    5, 3, 5, 4, NA, 4, 5, 5, NA, 3, 3, NA, 5, 3, NA, 2, NA, 1,
    NA, 2, NA, 4, 3, 2, 3, 5, 4, 4, 3, 3, 3, NA, NA, 2, 5, 5,
    1, NA, NA, 3, NA, 2, 4, 3, 3, 3, 3, 3, 3, NA, NA, NA, 3,
    2, 4, 4, 4, 2, NA, 3, 4, 3, 3, NA, 3, 2, 5, 5, 5, 3, 2, 3,
    3, 1, 3, NA, 2, 2, 5, 5, 3, 5, 2, 3, 3, NA, 4, 3, 1, 5, 5,
    5, NA, 3, 5, 3, 3, 3, 4, NA, 3, 3, 4, 3, 4, 3, NA, 4, 4,
    5, 1, 5, 1, 4, 2, NA, 2, 3, 3, NA, NA, 2, 3, 2, NA, 3, 3,
    3, 4, 3, NA, 4, 5, NA, NA, 5, 4, 3, NA, 2, 4, 5, NA, NA,
    2, 5, 1, 3, 4, NA, 5, 5, 4, 2, 3, 4, 3, 5, 3, 4, NA, 4, 5,
    3, 4, NA, 5, 1, 2, 3, NA, 3, 3, 3, 4, NA, 3, 2, 2, NA, 4,
    4, 5, 4, 5, 1, 5, 5, NA, NA, 2, NA, 3, 4, 3, 5, 5, NA, NA,
    2, 5, 3, NA, NA, 3, 2, 2, 3, NA, 1, 3, 3, 2, 3, 5, 2, 2,
    5, 5, 3, NA, 5, 3, 1), label = structure("q23 20% Missing: Stops other people monitoring ", .Names = "q2320_5")),
    `q23 20% Missing: Difficult to determine best deal ` = structure(c(NA,
    2, 5, 5, 4, NA, 5, NA, 3, 3, NA, NA, 5, 2, NA, 3, NA, NA,
    1, 1, NA, 2, 4, 4, 2, 2, 5, 2, 4, 2, 3, NA, 4, 4, NA, NA,
    3, 1, 2, 4, 2, 2, 4, 4, 1, 3, 5, 5, 2, 2, NA, 1, 5, NA, NA,
    NA, 3, 2, 3, 2, 2, 4, 2, NA, NA, 3, NA, 1, 1, NA, 2, 2, NA,
    5, 2, 2, 2, 2, 4, 2, 2, 5, 2, 1, 2, 4, 2, 5, 3, 3, NA, 5,
    1, 4, NA, 2, 4, 2, 1, 2, 4, NA, 5, 1, 5, NA, 1, 2, 4, 3,
    1, 2, 2, NA, 4, 2, 1, 5, 2, 2, 1, NA, 1, 2, 2, NA, NA, 3,
    NA, 3, 3, 1, 3, 1, 4, 2, 2, 2, NA, 2, 2, 2, 2, 1, 2, 2, 4,
    2, 3, NA, 5, 1, 2, 5, NA, 1, 2, NA, 1, 5, 2, 3, NA, 4, 2,
    1, 4, 2, NA, 5, 1, NA, 3, 4, 2, 5, NA, 1, 4, 1, 2, NA, NA,
    3, 2, 2, 2, 4, 1, 2, 2, 3, 2, 3, 4, 3, 2, 4, NA, 2, 5, NA,
    NA, 1, 4, 2, 2, 2, NA, 5, 1, NA, 4, 3, 2, 3, 2, NA, 2, NA,
    NA, 2, 1, 4, 4, 3, 3, 3, 2, NA, NA, 2, 4, 2, 1, 5, NA, 1,
    2, 2, 2, NA, NA, 2, 5, NA, 1, 2, 2, 1, 2, 2, 1, 2, 3, 3,
    5, 3, NA, 5, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2,
    1, NA, 1, 2, NA, 5, 5, 2, 3, NA, 5, 4, 2, 2, 4, 5, 4, 2,
    5, 2, 4, NA, 4, 5, 4, 1, 3, 2, 2, 4, 4, 2, 2, NA, NA, 1,
    5, NA, 4, 3, NA, NA, 2, 3, 5, NA, 1, 5, NA, 2, 1, 2, 2, 5,
    NA, 1, 4, NA, NA, NA, NA, 2, 1, 5, 3, 4, 2, NA, 4, 3, NA,
    1, 1, 5, 2, 3, 2, 2, 2, NA, 5, NA, 2, 2, 5, 2, NA, NA, 3,
    NA, 1, 3, 1, 2, 2, 5, 2, 1, 4, 4, 1, 4, 5, NA, 2, 3, 2, 4,
    NA, 3, 3, 2, 2, NA, 4, 4, NA, 2, 5, 2, 2, 4, NA, NA, 2, 2,
    4, 3, 2, NA, 3, 1, 2, NA, 1, NA, 2, 3, 2, 2, 3, 1, 5, 2,
    2, 2, 2, NA, 1, NA, 1, 1, 4, 2, 2, NA, 1, 2, NA, 1, 1, NA,
    4, 4, 1, 3, 4, 4, NA, 2, 3, 2, 1, 3, 2, 2, 4, 2, 1, 2, NA,
    NA, 2, NA, 2, 2, 3, 2, 5, NA, 3, 4, 4, NA, 3, 1, NA, 2, 3,
    NA, 2, 3, 1, 2, 1, NA, NA, 3, 2, 2, 2, 2, 1, 4, 2, 4, NA,
    4, NA, 2, 1, 5, NA, 1, 2, 4, 2, 1, 2, 4, 1, NA, 5, 1, 4,
    2, 1, 2, 4, NA, 2, 4, 3, 4, 2, 2, NA, NA, 1, 2, 2, 1, 2,
    2, NA, 1, 2, NA, NA, 3, NA, 5, 2, 2, NA, 5, 3, 2, 2, 1, NA,
    2, 2, NA, NA, 1, NA, NA, 1, 3, 2, NA, NA, 1, 2, 4, 2, 1,
    NA, NA, 4, 2, 1, 1, 2, 3, NA, 2, 4, 4, 2, 2, 1, 2, 2, 2,
    1, NA, NA, 1, 2, 2, NA, 2, NA, 4, 4, 2, 2, 3, 3, 3, 5, 4,
    1, 1, NA, 1, NA, 3, 5, 2, 3, 2, NA, 2, 2, 2, 2, 4, 2, NA,
    3, 4, 1, NA, 4, NA), label = structure("q23 20% Missing: Difficult to determine best deal ", .Names = "q2320_6")),
    `q23 20% Missing: Spent a lot of time shopping for best deal ` = structure(c(NA,
    4, 5, 5, 4, 1, 5, 4, NA, 3, 4, 4, 4, 3, NA, 5, 4, NA, 5,
    2, 2, 3, NA, 3, 4, 5, 5, NA, 3, 3, 4, 4, 2, 2, 2, NA, 3,
    1, 2, 4, 3, NA, 5, NA, 1, 2, 4, 4, 2, 2, NA, 5, 4, 2, NA,
    5, 4, 2, NA, 1, 3, 5, 4, NA, NA, 1, 2, 5, 2, NA, 1, 4, 3,
    NA, 2, 4, 2, 5, 4, 4, 3, 4, NA, NA, 2, NA, NA, 4, 2, 4, 5,
    5, NA, 1, 3, 2, 2, 2, 5, 4, 4, 2, 1, 5, 5, 2, 2, 1, 1, NA,
    1, 5, NA, 2, 2, 5, NA, 2, NA, 2, 5, 4, 5, 1, 4, 2, NA, 5,
    NA, NA, 4, 2, 3, NA, 1, 2, 2, 2, NA, 5, 1, NA, 3, 3, 3, 4,
    4, 4, NA, 3, 1, 1, 2, 1, 2, 4, 1, 4, 1, 4, 2, 2, NA, 4, 2,
    1, NA, 4, NA, 2, 2, 2, 4, 2, 1, 1, 5, 2, 1, 3, 1, 2, 5, 5,
    4, 5, NA, 4, 2, NA, 3, 3, 2, 3, 2, 3, 2, 2, NA, 3, NA, 4,
    2, 2, NA, NA, NA, 3, NA, 5, 2, 2, 4, 3, 1, 3, NA, 4, NA,
    3, 1, 5, 5, 2, 2, 2, NA, 2, 2, 1, 5, 4, 4, NA, 4, 5, 5, 5,
    5, NA, NA, 1, 4, 5, 5, 3, NA, NA, 4, 2, 4, NA, 3, 3, 5, 5,
    1, 4, 5, 1, 5, 1, 2, 4, 2, 3, 1, NA, 1, 1, 3, 2, 1, 1, 2,
    NA, 3, NA, NA, 2, 4, NA, 3, 4, 1, 1, NA, 2, 4, 4, 2, 2, 1,
    4, 1, 2, NA, 4, NA, 2, 3, 3, 4, 2, 2, 4, 3, NA, NA, 2, NA,
    4, 3, 5, 2, NA, 4, 3, 5, 5, 4, 4, 5, NA, 2, 2, 2, NA, 1,
    NA, 4, NA, 2, 4, 5, 3, 2, 5, NA, NA, 4, 5, NA, 4, NA, 1,
    3, 5, 2, 2, 4, 5, 4, 1, 5, NA, 4, 3, 4, 5, 2, NA, 2, 2, 2,
    3, 4, 5, 2, 4, 4, 2, 3, 2, 5, 1, 2, 4, NA, NA, 4, 4, 5, 2,
    3, 2, 3, NA, 4, 5, 1, 4, 4, 5, NA, NA, 1, 3, 3, 2, 2, 4,
    2, 3, 5, 5, 5, 4, 4, 5, NA, 2, NA, NA, 2, 3, NA, NA, 4, NA,
    NA, 2, 2, 1, 2, 1, 1, NA, 4, 3, 1, 3, 4, 4, 4, 4, 1, 3, 5,
    NA, 2, 4, 4, 2, 3, 2, NA, 1, 2, 2, 1, 3, 4, 2, NA, 2, 5,
    3, 2, 2, 4, 3, 2, 1, 1, NA, 1, 4, 4, 4, NA, NA, 1, NA, 4,
    4, 4, 5, 2, 5, 3, 5, NA, 4, 2, NA, 3, 4, 2, 3, 2, 2, NA,
    4, 4, 1, 3, 4, 2, 3, 2, 4, 4, 4, 4, 5, 5, 5, 2, NA, NA, 2,
    NA, 4, NA, 2, 4, 5, NA, NA, 3, NA, 1, 1, 1, 2, 2, 4, 5, NA,
    2, 2, 4, 1, 5, 2, 2, NA, 3, 4, 5, 2, NA, NA, NA, NA, NA,
    2, NA, NA, 2, 4, 2, 5, 4, 1, NA, NA, NA, 3, 5, 2, 3, 3, 5,
    4, 3, 1, NA, 2, 1, NA, NA, 5, 2, 1, NA, NA, 3, NA, 3, 2,
    2, 4, 4, 2, 2, 2, 2, 5, 2, 5, 2, 2, 3, 5, 5, 5, 2, 2, 2,
    NA, 2, 4, NA, 4, 2, NA, NA, 4, 3, NA, 5, NA, 4, 2, 3, NA,
    NA, 4, 2, 2, 1), label = structure("q23 20% Missing: Spent a lot of time shopping for best deal ", .Names = "q2320_7")),
    `q23 20% Missing: Closely monitors time on phone ` = structure(c(4,
    4, 1, 5, 4, 1, NA, 5, 2, NA, 4, 4, 4, 2, NA, 4, NA, NA, NA,
    2, 2, NA, 2, 2, 1, 4, 1, 5, 2, 4, 4, NA, 2, NA, 3, 4, 2,
    3, 3, NA, 2, 1, 4, 2, NA, 2, 5, 4, 2, 4, 2, 4, 5, 1, 5, 4,
    5, 4, 3, 2, 5, 5, 1, 4, 1, 3, NA, 5, NA, 3, NA, 4, NA, 1,
    NA, 4, NA, NA, 5, 3, 3, 2, NA, 2, 4, NA, 3, NA, 1, 4, NA,
    NA, 5, 1, 4, 3, NA, 4, 5, 4, 4, 5, 1, 5, 5, 1, 4, 2, 4, NA,
    4, NA, 1, 2, 1, 4, NA, 5, 1, NA, 5, 4, 1, 1, 2, 4, NA, 4,
    2, 3, 1, NA, 2, NA, 2, 2, NA, 2, NA, 2, 1, 2, 2, 1, 4, 3,
    2, 4, 3, 4, NA, NA, 2, 5, 2, 1, 1, 2, 2, 2, 2, 1, 1, 4, NA,
    4, 2, NA, 3, 4, 3, 5, 4, 3, NA, 4, 5, 5, NA, 4, 1, 3, 5,
    5, 3, 2, NA, 5, NA, 2, 3, NA, 4, 4, 4, 3, NA, 2, NA, 5, 2,
    NA, NA, 5, NA, 4, 1, NA, 5, 5, 4, 1, 3, 4, 2, 4, 4, 5, 2,
    2, 1, 2, 4, 5, 1, 3, NA, NA, 2, 1, NA, 2, 4, 4, 4, 5, 5,
    5, 1, 3, 2, NA, 2, 4, 2, NA, 3, 2, 2, 2, 1, NA, 1, 2, NA,
    NA, 1, 1, 1, 2, 5, 2, NA, 2, 2, 2, 5, NA, 1, 1, NA, 4, NA,
    2, 4, NA, NA, NA, 1, NA, 1, 4, 4, 4, 5, 2, 2, 4, 5, 4, 2,
    NA, 3, 2, NA, NA, 1, 4, 4, NA, 5, 2, 2, 3, 3, 2, NA, 4, 5,
    3, 4, 5, 5, 5, 2, 2, 1, 2, 4, 2, NA, 4, 5, 3, 2, 2, 1, 4,
    3, NA, NA, 2, NA, 3, 1, 4, 5, 5, 2, 3, 2, 4, NA, 5, 3, NA,
    2, 2, 2, 1, 2, 1, 1, 4, 1, 1, 1, 4, 4, 4, NA, 1, 2, 2, 1,
    NA, NA, 5, NA, NA, 2, 2, 2, NA, 2, NA, 2, 3, 2, 2, 1, 2,
    4, 3, 2, 2, 4, 4, 2, 5, 1, 2, 1, NA, 3, NA, NA, 2, NA, 4,
    NA, 4, 2, 4, 1, 5, 4, 2, 2, 5, NA, 4, 3, 4, 3, NA, 2, 4,
    NA, 5, 2, NA, NA, NA, 1, 1, 2, NA, 2, 3, 3, 3, NA, 4, 4,
    5, 1, 3, NA, NA, 2, 1, NA, 2, 5, 2, 2, 2, 4, 3, 3, 2, 3,
    2, NA, NA, 5, 3, 1, 3, 2, 4, 4, 5, 5, 1, 3, 2, NA, 5, NA,
    5, NA, 4, 4, NA, 1, 1, 2, 5, 5, 5, 1, 2, NA, NA, 2, 5, 2,
    4, 2, 1, 1, 2, 5, NA, 4, 5, 2, 4, 4, 2, NA, 2, 4, 5, NA,
    2, 4, 5, 4, NA, NA, 3, NA, 2, 2, 3, 3, 2, 5, 1, 2, 5, 3,
    2, 3, 5, 2, 2, NA, NA, NA, NA, 5, 2, 2, 2, 4, NA, 1, 2, 2,
    2, NA, 2, 1, 1, NA, 4, 1, 5, 3, 2, NA, 4, 1, 3, 5, 5, 1,
    5, 4, 3, 3, 5, 3, NA, 2, 2, 5, 1, 3, 5, 1, NA, 2, 2, 2, 4,
    3, 3, 2, 4, 4, 2, 4, NA, 1, 2, 1, 3, 1, NA, NA, 4, 2, 2,
    1, 1, NA, 5, 3, 3, 4, 1, 3, 2, 2, 4, NA, 2, 2, 5, 2, 3, NA,
    3, 1, 2, 3, 2, 2), label = structure("q23 20% Missing: Closely monitors time on phone ", .Names = "q2320_8")),
    `q23 20% Missing: Cost is a factor when deciding to SMS or phone ` = structure(c(NA,
    3, 2, NA, 2, 1, 4, 5, 1, 4, NA, 5, 3, 2, NA, 4, 2, 4, NA,
    2, NA, NA, 1, NA, NA, 2, 1, 2, 2, 3, NA, NA, 2, NA, NA, 2,
    4, 3, 2, 3, 1, 2, NA, 5, 1, NA, 5, 4, 2, 2, 2, 4, 4, 2, 1,
    1, 3, 4, 3, 2, 3, 3, 1, NA, 1, NA, 3, NA, 4, 5, 1, NA, 4,
    NA, 2, 5, 4, 2, NA, 4, 4, 4, 3, 3, 1, 4, 2, 1, 1, 2, 2, 4,
    3, 1, NA, 4, 1, 4, 5, 2, 4, 2, 1, 5, 5, 1, 1, 1, 3, 5, 4,
    1, 3, 2, NA, 2, 5, 5, NA, NA, NA, 5, 1, 1, 3, 3, NA, 3, 3,
    4, 5, NA, NA, NA, 2, 4, 2, 3, NA, NA, 1, 2, 2, 4, 2, 2, 4,
    NA, 3, 5, NA, NA, 3, 1, NA, 1, 2, 2, 1, 1, NA, NA, 1, 3,
    1, 2, NA, 1, 1, 5, 4, 5, 2, 2, 2, 4, 5, 3, 2, 3, 1, 2, 5,
    2, NA, NA, 2, NA, 4, 1, 3, 3, 3, NA, NA, NA, 4, 4, 1, 5,
    1, 1, NA, 5, 1, NA, 1, 2, NA, 5, 2, 1, 1, 2, 1, 2, NA, 2,
    1, 1, 1, NA, NA, 4, 1, 4, 2, 4, 3, NA, 5, 4, NA, 2, 4, 3,
    4, 2, 5, 2, 3, 1, 3, 1, 1, 1, NA, 5, 4, 2, 2, NA, 3, 3, NA,
    5, 1, 4, NA, 5, NA, NA, 2, 3, 3, 5, 5, 1, 2, NA, 2, 1, 1,
    5, 3, 1, 5, 5, 1, NA, 1, 5, 5, 4, NA, 2, 2, 2, NA, 4, 2,
    2, 1, 4, 1, 1, 1, NA, 5, 4, 1, 3, 3, 3, NA, NA, 1, 2, 5,
    NA, 2, NA, NA, 2, 2, 2, 1, 1, NA, 1, 1, NA, 5, 2, NA, 1,
    2, 1, NA, 2, 5, NA, 5, 1, NA, 3, NA, 1, 1, 3, 4, 2, 4, 5,
    3, 1, 1, 5, NA, 2, NA, 1, NA, 4, 2, 1, 4, 5, 4, 5, 2, 1,
    2, 2, 3, 5, 5, 5, 5, 5, NA, NA, 3, 2, 1, 3, 3, NA, NA, 3,
    NA, 5, 3, 2, 3, NA, NA, 5, 4, 4, NA, 2, NA, 2, 3, 3, 2, 3,
    2, NA, NA, 2, NA, NA, NA, 5, 4, 2, 4, NA, 4, 2, 3, 1, 2,
    NA, 1, 1, 2, NA, 4, 3, 2, 1, 5, 1, NA, 2, 2, 2, 1, 3, 3,
    NA, NA, NA, 2, 5, 1, 5, 5, NA, 4, 4, 2, 3, 3, 2, NA, NA,
    5, 1, 3, 1, 1, 2, 5, 2, NA, 2, 3, 4, NA, 2, 3, NA, 3, 2,
    3, NA, 5, NA, 1, 4, NA, 1, 1, 1, 2, NA, 5, NA, 4, 2, NA,
    1, 2, NA, NA, 3, NA, 5, 4, 5, 3, 2, NA, 5, NA, 2, 3, 2, 4,
    1, NA, 5, 2, 2, 1, 5, NA, 4, 2, 2, NA, NA, 2, 2, 2, 5, 5,
    3, 3, NA, 1, NA, 2, NA, 2, NA, 1, 1, NA, 2, NA, 2, 3, 2,
    3, 1, NA, NA, 2, 5, 1, 4, 4, NA, NA, 1, 1, 5, 2, 5, 5, 2,
    NA, 3, NA, 5, 2, 5, 5, NA, 4, 5, 3, NA, 2, 2, 1, 1, 3, NA,
    5, 2, 2, NA, NA, 3, 4, 2, 2, 4, 1, 2, 4, 1, NA, 4, 1, 1,
    1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 3, 4, NA, 1, 2, 5, 2, NA, 1,
    2, 1, NA, 3, 2, 5, NA, 1, 2, 2, 1, 2), label = structure("q23 20% Missing: Cost is a factor when deciding to SMS or phone ", .Names = "q2320_9")),
    `q23 20% Missing: All friends have mobiles ` = structure(c(3,
    1, NA, 1, 1, 1, 1, 3, 1, 1, 1, 4, 1, 1, NA, NA, 2, NA, 1,
    1, 1, 1, 2, 2, 1, NA, 1, 1, 3, 2, 1, 1, 2, 4, NA, 1, 1, 2,
    NA, 4, NA, NA, 4, 1, 1, 1, 1, 1, 2, NA, 1, 1, 2, 1, 2, 2,
    1, 2, NA, 1, 1, 1, 5, 2, 3, 1, 1, 1, 1, 2, 1, 1, NA, 2, 4,
    NA, 4, 2, 1, NA, 1, 1, 3, 1, 1, 1, 2, NA, 1, 2, NA, 1, NA,
    1, 1, 1, NA, 1, 1, 1, 1, 1, 1, 1, 2, 1, NA, 1, 1, 1, 1, 3,
    1, 1, NA, 1, 1, 1, 3, 1, 1, 1, 4, 1, 1, 2, NA, 1, 1, NA,
    1, NA, NA, NA, NA, 2, NA, NA, NA, 5, 1, NA, 1, 3, 2, 2, 1,
    1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, NA, NA, 2, 1, 1, 2, 1,
    1, 1, 2, 1, 5, NA, 2, 1, 1, 1, 1, 1, 1, NA, 1, 1, 1, NA,
    1, 4, 4, 1, 4, NA, NA, 1, 1, 1, 1, 1, 1, 2, NA, 2, 1, 1,
    NA, 4, 1, 1, 2, NA, 1, 2, 1, 1, 2, 1, 1, NA, NA, 1, 2, 1,
    1, 1, NA, 2, NA, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, NA,
    1, 2, NA, NA, 2, 5, 1, NA, 2, 2, 1, 2, NA, 1, 1, 1, NA, 1,
    2, 1, 5, 1, 1, NA, 1, NA, 5, 1, NA, 1, 1, 1, 1, NA, 5, 1,
    1, 1, 1, 2, 2, 1, 1, NA, 2, 1, 1, 1, 1, 1, NA, 1, NA, 1,
    2, 1, 1, NA, 1, 1, NA, NA, 1, 1, 4, 1, 1, NA, NA, 1, 1, 2,
    4, 1, 1, 2, NA, 1, 1, 2, 1, 1, 4, 5, NA, 1, 1, 2, 5, 1, 1,
    1, NA, 3, NA, 1, NA, 1, 1, 1, NA, 2, 1, 4, 1, 2, 2, 1, 2,
    1, 4, 2, 1, 2, 4, 2, 2, 3, NA, 2, 2, NA, NA, 1, 1, 2, 1,
    5, 1, 1, NA, 2, 1, 2, 1, 1, 2, 1, 3, 1, 2, 2, 2, NA, 1, NA,
    1, 1, 2, 1, 2, 1, 2, NA, 1, 1, 3, 1, 2, NA, NA, 1, 1, 1,
    1, 4, 2, 1, 1, NA, 1, NA, 4, 2, 2, 2, 3, 2, 1, 2, 1, 1, 4,
    1, 1, NA, 2, 1, 1, 1, 2, NA, 1, 1, 1, 2, 1, 1, 4, 1, 1, 1,
    1, 1, 2, 2, 1, 1, 2, 3, 3, NA, 1, 1, 2, 2, 2, NA, 1, 1, 1,
    NA, 1, 1, NA, 1, 1, 1, 1, NA, NA, 2, 1, 2, NA, 2, 1, 1, 1,
    NA, 1, 1, 1, 3, 2, 1, 1, 4, 1, 2, NA, 2, 1, 2, NA, 1, NA,
    2, NA, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, NA, NA, 4, 1, 2, 2,
    NA, 1, 1, 1, 1, 1, NA, 2, 1, 1, 1, NA, 1, 1, 2, 1, 5, 1,
    1, NA, NA, 3, 1, NA, NA, NA, 1, NA, 1, 1, 1, 1, NA, 2, NA,
    2, 1, NA, 2, 2, 2, NA, 4, 1, 1, 1, 1, NA, 5, 4, NA, 2, NA,
    1, 1, 1, 1, 1, 5, NA, 3, 1, 2, 1, NA, 2, 3, 3, 1, 4, 1, NA,
    4, 1, 1, 1, 1, 2, NA, 1, 1, 1, 1, 2, 1, 1, 1, 1, NA, 2, NA,
    1, 1, 1, NA, 1, 4, NA, 2, 1, 2, 1, 1, 4, 3, 3, 2, 1, 1), label = structure("q23 20% Missing: All friends have mobiles ", .Names = "q2320_10")),
    `q23 20% Missing: Large phones mean no image ` = structure(c(2,
    NA, 2, 4, 3, NA, 5, 5, 2, 2, 1, NA, 3, 2, NA, 1, 4, NA, 5,
    5, 2, NA, 2, 2, 5, NA, 2, 1, 5, NA, 1, NA, 2, 2, 3, 4, NA,
    2, 2, 2, 1, 2, 2, 3, 1, NA, 3, 2, NA, 5, 2, 1, 4, 3, 2, 3,
    4, NA, 4, NA, 1, 2, NA, 5, 5, 3, 1, 5, 1, 3, 1, 3, 4, 2,
    5, 5, 4, 5, 5, 3, 1, 4, 5, 2, 5, 4, 4, 1, 1, NA, 4, NA, 3,
    2, 1, 2, NA, NA, 5, 2, 3, 4, 3, 3, NA, 2, 2, 3, 2, 3, 5,
    5, 2, 2, 5, 1, NA, 3, NA, 3, 4, 2, 5, 2, NA, 1, NA, 2, 2,
    NA, 5, NA, NA, 1, 3, 2, 2, NA, NA, 2, 4, 2, NA, 1, 2, NA,
    1, NA, 3, 2, NA, 1, 4, NA, 2, NA, 2, 3, 5, 5, 3, 2, NA, 3,
    NA, 1, 4, NA, 1, 3, 5, 3, 5, 4, 1, NA, 3, 2, 1, 3, 1, 3,
    1, 2, 1, 4, 2, 1, 2, 4, 2, 2, 1, 1, NA, 2, 1, NA, NA, NA,
    2, 5, 4, 5, 1, NA, 2, 1, NA, 2, 5, 2, 2, 1, 2, NA, 2, NA,
    1, 2, 3, NA, 4, 5, 2, 3, 2, 3, 3, 4, NA, 2, 2, 2, NA, 2,
    5, 5, NA, 1, 3, 2, 1, NA, 1, 4, 3, 2, 3, 4, 4, 4, NA, 2,
    2, 5, 3, 2, 5, 2, 4, 4, 1, 3, 3, 1, 1, 2, 3, 2, NA, 3, 1,
    4, 2, 1, 3, 2, 1, 3, 2, 2, 2, 1, 4, 2, 3, 4, 4, NA, 1, 1,
    4, 2, 2, 3, 2, 1, NA, 2, 5, 1, NA, NA, 1, 2, 4, 2, 2, NA,
    2, 4, NA, 1, 4, NA, 1, 2, 3, 3, 2, NA, NA, 1, 1, 3, 2, 4,
    1, 3, 4, 1, 2, 5, 3, 2, 3, 1, 1, 3, 2, 3, 3, 2, NA, 4, 2,
    5, 2, 2, 4, 5, 2, 4, 1, 3, 3, 2, 2, 3, 1, 2, 4, 3, 3, 4,
    4, 4, 2, 1, 5, 4, 2, 5, NA, 1, 1, 5, 3, 2, 2, 1, 5, 5, 4,
    2, 3, NA, NA, 4, 5, 5, 3, 3, NA, 3, 3, 2, NA, 1, 1, 2, 2,
    2, 5, 3, 2, NA, 2, 1, 1, NA, 3, 2, 3, 3, 3, 3, 5, 1, NA,
    5, 5, 4, 2, 2, 2, 2, 5, 5, NA, NA, 2, 3, 4, 4, 2, 2, 1, 1,
    1, 1, 3, 4, 2, 2, NA, NA, NA, 3, 1, NA, 5, 1, 3, NA, NA,
    2, 2, 3, 2, 2, 1, NA, 1, NA, NA, 5, 1, 3, 5, 2, NA, 1, 3,
    5, 1, 5, 3, 5, 1, 3, 1, 2, 1, NA, 4, 3, 2, 1, 2, 2, 2, 3,
    NA, 5, 3, 3, 2, 3, 4, 1, 1, 4, 2, 5, 2, 1, 2, NA, 5, 1, NA,
    1, NA, 2, NA, NA, 4, 1, 3, 2, 2, NA, 3, 4, 1, 2, NA, NA,
    4, 1, 2, 2, 1, 2, 4, 4, 3, 1, 1, 2, NA, 2, NA, NA, 1, 4,
    NA, 4, 3, 1, 2, 2, NA, 4, 3, 1, 1, NA, 1, NA, 3, NA, NA,
    3, 1, 1, 3, 3, 5, 5, 3, 2, 2, 3, 1, 2, 1, NA, 4, NA, 5, 5,
    5, 5, 5, 4, 4, NA, NA, 1, 2, 3, 5, 2, 5, NA, 2, 2, 2, 5,
    4, 2, 4, 1, 2, 3, NA, 4, 5, NA, 5, 3, 4, 2, 3, 2, 1, 1, NA,
    2, NA), label = structure("q23 20% Missing: Large phones mean no image ", .Names = "q2320_11")),
    `q23 20% Missing: Calls kept short and to the point ` = structure(c(4,
    4, NA, NA, NA, 1, 2, 4, 3, 1, 2, 2, 3, 1, NA, 2, NA, 1, 1,
    2, 4, 1, 2, 1, 4, 2, NA, 3, 4, 3, 3, 1, 2, 4, NA, NA, 4,
    3, NA, 4, 2, 2, 2, NA, NA, NA, 3, 3, 1, 2, 2, 2, 4, 3, 2,
    3, 2, 3, 2, 1, NA, NA, 2, 1, 1, NA, 3, 3, 3, 3, 1, NA, 2,
    2, 2, 5, 1, 1, 5, 5, 3, 2, 4, 2, 4, NA, 4, NA, 1, 1, NA,
    3, NA, 1, 2, NA, 2, 1, 4, 2, 2, 2, NA, NA, 5, NA, 3, 1, 4,
    5, NA, 1, NA, 1, 3, 2, 2, NA, 1, NA, 2, 4, 2, 2, 2, NA, NA,
    1, NA, NA, 1, 2, NA, 1, 2, 2, NA, 2, NA, 2, 1, 2, 2, 2, 3,
    2, 4, NA, 2, 4, 1, NA, NA, 3, 4, 4, 1, 3, 1, 2, 4, 1, 1,
    4, 1, 2, 2, 1, 3, NA, NA, 4, 1, 2, 1, 3, 3, 1, 2, 2, 1, 2,
    5, 3, 3, 2, NA, 1, 1, NA, 2, NA, 3, 4, 4, 4, 2, 3, 2, 3,
    4, 2, NA, 2, NA, 3, 2, 1, 2, 5, 1, 1, 2, 4, 2, NA, 1, 3,
    NA, 1, 2, 1, 3, 4, 1, 4, 3, 4, 3, 2, 2, 2, 4, 2, 4, 1, 2,
    1, 1, NA, 2, 1, NA, 4, 2, 2, 2, 1, 2, 2, NA, 2, 1, NA, 1,
    1, 5, NA, 1, 1, 5, 1, 1, 1, 1, 1, 5, NA, 1, 1, 3, 4, 1, 1,
    3, 1, 2, 3, 1, 1, 1, 3, 4, NA, 2, 2, NA, 4, 4, 2, 2, 3, 1,
    1, 3, 1, NA, 4, 1, 4, 1, 1, 1, 1, 1, 2, 1, 1, 4, 2, 2, 4,
    2, 5, NA, 1, NA, 2, 2, NA, NA, NA, 5, 2, 3, 1, 1, 3, NA,
    4, 5, 1, NA, NA, 2, 4, 2, 1, 2, 3, 2, 1, 2, NA, 2, 2, 1,
    4, NA, 1, 2, NA, 2, 3, 1, 5, 1, 4, NA, 2, 4, NA, 2, 2, 1,
    2, 1, 4, 1, 1, 3, 3, 4, 2, 1, NA, 2, NA, 2, NA, NA, 2, 2,
    2, 1, 2, 2, 2, 2, 4, NA, 2, 1, NA, 5, 2, 3, 3, NA, 4, 2,
    5, 2, 1, 5, 4, 2, 2, 2, 1, 2, 4, 1, NA, 1, 2, 1, 2, 4, 2,
    2, 2, 2, 1, NA, 2, 1, 1, 1, NA, 1, 3, 3, 2, NA, 2, NA, 4,
    1, 1, 1, 1, 2, 4, 1, 3, 3, 2, 2, 2, 2, NA, NA, 1, 3, NA,
    4, NA, 4, 2, 2, 4, 5, NA, 5, 5, NA, NA, 1, NA, 3, NA, NA,
    NA, NA, 1, 1, 2, 2, 1, 2, 2, NA, 2, 4, 2, NA, 4, NA, 2, 1,
    1, NA, 2, 3, NA, NA, NA, NA, NA, 2, 2, 2, 1, 1, 1, 3, 3,
    NA, 4, 1, 4, 1, 3, NA, NA, NA, 2, 3, NA, 5, NA, 1, NA, NA,
    4, 5, 4, NA, 3, 1, 3, NA, 1, 2, 1, 2, 2, 2, 1, 5, 2, 1, 4,
    2, 2, NA, 1, NA, 1, 1, 1, 1, 2, NA, NA, 1, 3, 2, NA, NA,
    2, 3, 4, 4, 2, 5, 3, 5, 3, NA, NA, NA, 2, NA, 1, 1, NA, 4,
    1, 3, 2, 2, 1, NA, 1, 2, 1, NA, 4, 2, NA, 1, NA, 4, 3, 5,
    2, 2, NA, NA, 3, 2, 3, 4, 1, 2, 1, 2, NA, 2, 2, NA, 2, 3,
    3, NA, 2, 1, 1, 1, 1, 2), label = structure("q23 20% Missing: Calls kept short and to the point ", .Names = "q2320_12")),
    `q23 20% Missing: Important to be able to contact friends whenever ` = structure(c(2,
    2, 3, 1, 1, 2, 1, 1, NA, 2, 1, 2, 2, 1, NA, 3, NA, 3, NA,
    2, 1, 1, 1, 2, NA, 1, 1, NA, 4, 2, NA, 1, NA, 2, NA, 2, 1,
    2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, NA,
    1, 3, 2, 1, 1, 1, 1, 1, NA, 1, 1, 2, NA, 1, NA, 2, 3, 1,
    2, 4, 1, 1, 5, 1, NA, 2, 5, 1, NA, NA, 3, 1, 1, NA, 1, 2,
    1, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 3, 2, 2, NA, 1, 1, NA, 1,
    4, 2, 1, NA, NA, 1, 1, NA, 3, 2, 2, 2, 1, 3, 2, NA, NA, 1,
    1, 2, 2, 2, 1, 2, 2, 5, 2, NA, 5, 1, 1, 2, NA, 3, 2, 1, 1,
    3, 2, 4, 2, 1, 2, NA, 3, 1, 1, 1, 1, 2, 1, 2, 2, 1, 2, 1,
    5, 2, 2, 1, 1, 1, 2, NA, 1, 3, 2, 1, 3, 1, 3, NA, 2, NA,
    4, 3, 1, 2, 2, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1,
    5, NA, 2, NA, 2, NA, 1, 2, NA, 1, 1, 2, 2, 1, 2, NA, 1, 2,
    NA, NA, 2, NA, 1, NA, 2, 1, 2, 2, NA, 2, 1, NA, 2, 1, 4,
    1, NA, NA, 2, 1, 3, NA, 1, NA, 2, 1, NA, 1, 1, 2, 1, NA,
    2, 2, 1, NA, 1, 2, NA, NA, 4, 4, 1, NA, 1, 1, 2, 1, 1, 1,
    1, 2, NA, 1, 2, NA, 2, 1, 1, 1, 2, 2, NA, 1, 1, NA, 3, NA,
    NA, 2, NA, 1, 1, 1, 1, 1, 1, NA, NA, 2, 1, 1, 2, 1, 1, NA,
    2, 4, 2, 1, 2, 1, 1, NA, 3, NA, 4, 4, NA, NA, 2, NA, 1, 3,
    1, 1, NA, 1, 4, 1, NA, 1, 2, 1, NA, 2, 1, 2, NA, 1, 1, 3,
    1, 1, NA, 1, 2, 1, 4, 1, 4, 2, 3, 2, 1, 1, 2, NA, NA, NA,
    2, NA, 1, 4, NA, 1, 3, NA, 1, 1, 3, 1, 2, 2, 1, 1, NA, 2,
    2, 2, 2, NA, 1, 2, 1, 1, 1, 1, 3, 1, 1, 3, 3, 4, NA, 1, NA,
    1, 2, 1, 1, NA, NA, NA, NA, 3, NA, NA, 2, 2, 3, 2, 1, 1,
    NA, 4, 2, 2, NA, NA, NA, 1, NA, 1, 1, 1, 3, 1, 1, 2, 2, 1,
    NA, 1, 1, 1, 3, 3, NA, 2, 1, 1, 1, 2, 2, 2, NA, 1, 1, 1,
    2, 2, 2, 3, 2, 1, 2, 1, 1, 2, 1, 1, 1, 4, 1, 2, 2, NA, NA,
    1, 2, 1, 1, 1, NA, 3, 2, 2, 2, 2, NA, 1, 2, 3, 2, 1, 2, 1,
    2, 1, 1, NA, 1, 2, 2, 2, 1, 1, 2, 4, 2, 2, NA, 2, NA, 1,
    2, 1, 1, NA, NA, 1, 2, 2, 3, 1, 1, 2, 1, 1, NA, 1, 1, 1,
    1, 2, NA, 1, 3, 1, NA, 2, 2, 2, 3, 1, 1, 1, 1, 1, 1, NA,
    1, 5, NA, 2, 3, NA, 2, 2, NA, 2, NA, NA, NA, NA, 2, NA, 2,
    NA, NA, 2, 1, NA, NA, 2, NA, 1, 3, 5, 4, 1, 1, 2, 1, 2, 2,
    3, 2, 2, 1, 2, 3, 1, 2, NA, 1, 1, 1, 2, 1, 2, 1, 5, 3, 2,
    3, 1, 1, NA, 2, 3, NA, NA, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2,
    2, 2, 2, 2, 1), label = structure("q23 20% Missing: Important to be able to contact friends whenever ", .Names = "q2320_13")),
    `q23 20% Missing: Email used more than mobile ` = structure(c(2,
    4, 2, 5, 5, NA, 5, NA, NA, NA, NA, 5, 3, 5, NA, 4, 4, 5,
    NA, 2, 4, 4, 2, NA, NA, 4, NA, 5, 3, 4, 4, 5, 4, 5, 3, 4,
    4, 1, 3, 5, 3, 4, 5, 3, 4, 5, NA, 2, 5, 5, NA, 3, 4, NA,
    5, 3, 4, 4, 4, 4, 5, 2, 1, 5, 2, 2, 3, NA, NA, 4, NA, 1,
    NA, 4, NA, 4, 5, 5, 5, 5, 5, NA, NA, 5, 4, 4, 4, 5, 5, 2,
    4, 5, 5, 5, NA, 4, 4, 5, 5, 3, NA, 4, 5, 3, 3, NA, 2, NA,
    5, 2, 5, 1, 3, 5, 4, 4, 5, 5, 3, 1, 5, 5, 5, 2, 4, NA, NA,
    2, 5, 5, NA, 5, 1, 5, NA, 4, 2, 2, NA, 2, NA, 3, 3, 3, 2,
    4, 5, NA, 5, NA, 5, NA, 1, 5, 4, 4, 1, 4, NA, NA, 4, NA,
    NA, 2, 4, 5, NA, 2, 5, NA, 5, 5, 1, NA, 5, 5, 3, NA, 5, NA,
    2, 3, 3, NA, 4, 4, 4, 5, 4, 5, 4, 5, 3, 5, 4, NA, 5, 4, NA,
    4, NA, 5, 4, 4, 1, 4, NA, 3, 5, NA, 2, NA, 4, 5, NA, NA,
    5, NA, 3, NA, 2, 5, 4, 4, 5, 3, 4, 4, 3, 5, 2, 4, 2, NA,
    4, NA, 4, NA, 5, 3, 3, 3, NA, 5, 5, 1, 5, 5, 5, NA, 5, 5,
    5, NA, 5, 2, 5, 4, 3, NA, 4, 2, 5, 5, 4, 1, NA, 4, NA, 3,
    2, 5, 5, 5, 5, 4, NA, 4, 5, 4, NA, 3, 3, NA, 4, 4, NA, 4,
    5, 4, 5, 4, 4, 1, 4, 3, NA, 4, 5, NA, 4, 1, 3, 3, 5, 5, 1,
    2, NA, 2, 4, NA, 2, 5, 4, 1, 5, 1, 2, 5, 4, NA, 5, NA, NA,
    5, NA, NA, NA, 5, 4, 1, NA, 5, 4, 3, 5, 5, 5, 1, 4, 2, NA,
    5, 5, NA, 1, 5, NA, 5, NA, 5, NA, 5, 3, 4, NA, 5, 4, 5, NA,
    4, 3, 2, NA, 3, NA, NA, 4, 5, 4, 2, 5, 5, 5, 1, 4, 3, 4,
    2, 4, 3, 5, 4, NA, 3, 3, 4, 2, 5, 5, 5, NA, 5, 5, 5, 1, 4,
    2, 5, 2, 4, 4, 5, NA, 3, NA, 5, 2, 3, 5, 3, 3, NA, 3, 3,
    4, 5, 4, NA, 5, 1, NA, 3, 5, 5, 2, 2, NA, NA, 1, 2, 5, NA,
    4, 5, 5, 5, 3, 4, 5, NA, 3, 3, 3, 3, 3, 4, 4, 2, 3, NA, NA,
    4, 2, 3, NA, NA, 5, 4, 4, 5, 5, NA, 5, 4, 5, 4, 2, NA, 5,
    5, 2, NA, 4, 4, 4, NA, 3, 4, 5, 3, NA, 4, 5, 1, NA, 2, 5,
    4, 5, 4, 4, 5, 4, 4, 4, NA, 1, NA, 5, NA, 1, NA, 3, 5, 4,
    2, 1, 1, 5, NA, 2, 4, NA, 5, NA, 3, 4, NA, 3, 3, 4, 5, NA,
    3, 5, 4, 4, 5, NA, 5, NA, 1, 2, 5, 3, NA, NA, 1, 5, 4, 5,
    4, 2, 2, 3, NA, NA, NA, 5, NA, 4, 5, 5, 4, 5, 3, 4, 4, 4,
    2, 2, NA, 2, 4, NA, NA, 2, 1, 3, 5, 3, 2, 5, NA, 2, 5, NA,
    2, 4, 5, 4, 3, 3, 5, 5, 2, 4, NA, NA, 5, 5, NA, 5, 5, 4,
    5, 5, 5, 2, 5, 5, 3, NA, 3, 4, 3, 5, 5, 4, 5, 5, 4, 2, 3,
    3, 4, NA, 5, 3, 5, NA), label = structure("q23 20% Missing: Email used more than mobile ", .Names = "q2320_14")),
    `q23 20% Missing: Only use mobile for essential calls ` = structure(c(1,
    4, 1, 5, 5, 1, 5, 4, 3, 4, 4, NA, 2, 3, NA, 1, NA, NA, 1,
    NA, 2, 1, 3, 3, 5, 2, 2, 5, 4, 4, 4, 1, NA, 2, 2, 4, 1, 2,
    3, 5, 3, 5, 1, 1, 4, 5, 3, 4, 4, 4, 5, 3, 2, 3, 1, 3, NA,
    2, 4, 4, NA, NA, NA, 2, NA, 5, NA, 3, NA, 3, 1, 1, NA, 4,
    2, 5, 2, 1, 5, 3, 4, 4, 4, 4, NA, 4, 4, 1, NA, 3, 5, 3, 1,
    2, 4, 2, 4, 2, 3, 4, NA, 4, NA, 1, 5, 2, 4, 3, 5, 5, 1, 2,
    5, 5, 4, 4, 5, 5, 1, 1, 2, 5, NA, NA, 4, 5, NA, 4, 2, NA,
    NA, NA, NA, NA, NA, 2, 2, NA, NA, 2, 1, 2, 2, 4, 2, 3, 5,
    5, 2, 4, 1, 1, NA, 3, 4, 2, 1, 4, 3, 5, 4, 2, 4, NA, NA,
    4, NA, NA, 5, 5, NA, 5, 1, 3, 4, 4, 5, 1, NA, NA, NA, 3,
    NA, 5, NA, NA, 2, 5, 2, 4, 4, NA, 4, 4, 4, 3, 2, 4, NA, 4,
    4, 2, 2, 4, 5, 4, NA, NA, NA, 1, 1, 1, 4, NA, 1, 2, NA, NA,
    2, 1, NA, 2, 5, 1, 4, 2, 3, 2, NA, 1, NA, 4, 4, 2, 5, NA,
    5, 1, 1, NA, 4, 1, 2, 5, 1, 1, 5, 3, 5, 5, 5, NA, 1, 4, 3,
    5, 1, 4, 1, 1, 5, 1, 1, 4, 2, 1, 5, 4, 5, 2, 2, 5, 1, 1,
    4, 1, NA, 5, 1, NA, 1, 4, 5, 3, 2, 4, 5, 5, 5, 5, 5, 4, 1,
    2, NA, 1, 2, 4, 3, NA, NA, 1, 1, 1, NA, 2, 1, 1, 5, 4, 1,
    NA, NA, 5, 2, 1, 5, 2, 1, 5, 3, 3, 1, NA, 4, 1, 1, 2, 5,
    4, 4, NA, 2, 2, NA, 1, 5, 5, 4, NA, 2, 4, 4, 5, 3, 4, 2,
    5, 2, 4, 2, 2, NA, 5, 1, 1, 1, 4, 5, 3, 1, 4, 4, 4, 2, NA,
    1, NA, 1, 2, 4, NA, 4, 5, 1, 2, 4, 3, 1, 1, 4, 5, NA, 3,
    2, 5, 4, 3, 4, 2, NA, NA, 1, NA, 5, 1, 4, 4, 2, 5, NA, 4,
    3, 5, 4, 5, 5, NA, 1, 2, 2, 4, NA, 2, NA, 2, NA, 5, 4, 1,
    NA, 4, 4, 1, 1, 1, 1, 2, 1, 1, 1, NA, 4, 4, 4, NA, 3, 5,
    2, NA, 1, NA, 1, NA, 1, 3, NA, 1, NA, NA, 4, 5, 5, 1, 3,
    4, 5, 3, 4, 4, NA, NA, 5, 4, NA, 5, 5, 4, 1, NA, 2, 2, 2,
    1, 2, 1, 1, 2, NA, 3, 3, 4, NA, 2, 5, 4, 1, 5, 2, 4, 1, NA,
    NA, 4, 5, 2, 4, 5, 1, NA, 2, 4, 1, 1, NA, NA, NA, 4, 1, 1,
    4, NA, 1, 3, NA, 5, 4, 3, 3, 1, 5, 2, 4, 5, 4, 4, 5, 5, 1,
    5, 1, 4, NA, 1, NA, 4, 4, 2, 3, 5, 1, 4, NA, 4, 2, 3, 1,
    1, NA, 1, 2, 2, 4, 1, 5, NA, NA, NA, 5, 5, NA, NA, 2, NA,
    4, 2, 2, 1, 4, 5, 5, 4, 1, 1, 1, NA, 2, NA, 3, 2, NA, 1,
    NA, 2, 5, 5, NA, 2, 2, 4, 2, 3, NA, 5, 5, 5, NA, NA, 4, 2,
    3, 1, 1, 2, 2, NA, NA, 1, 4, 4, 3, NA, 2, NA, 3, 4, 2, 2,
    1, 1, 1, 4, NA), label = structure("q23 20% Missing: Only use mobile for essential calls ", .Names = "q2320_15")),
    `q23 20% Missing: Mobile an essential part of lifestyle ` = structure(c(2,
    2, NA, NA, 1, 2, 2, 5, 3, 1, 4, 4, 2, 2, NA, 5, 3, 5, NA,
    5, 1, 1, 2, 2, 2, NA, NA, 1, 4, NA, 1, 1, 2, NA, 2, 4, 3,
    3, 3, 1, 1, 3, 3, 1, 1, 1, 1, 1, 4, 2, 2, 1, NA, 1, NA, NA,
    2, 4, 3, 1, 1, 2, 2, NA, 1, 3, 1, NA, NA, NA, 1, NA, 2, NA,
    4, 4, 2, 1, 5, NA, 4, 2, 4, 1, 3, 2, 3, 1, 4, 3, 1, NA, 2,
    3, 1, 4, 2, 2, 1, 2, 1, 1, NA, 5, 2, 1, 2, 1, 4, 3, 5, 2,
    1, NA, NA, 4, 1, 1, 4, 4, 2, 1, 2, 2, 4, NA, NA, 1, 2, 1,
    5, 2, 2, 1, 2, 2, 2, 2, NA, 5, 3, 1, NA, 2, 3, NA, 1, NA,
    2, 1, 2, 5, 3, NA, 1, 2, NA, 2, 1, NA, NA, 4, 2, NA, 2, 3,
    1, NA, 2, 1, 2, NA, 1, NA, 1, 1, 3, 5, 1, NA, 1, 4, 5, 1,
    NA, 1, 2, 1, 2, NA, 1, NA, 1, 1, 2, NA, 4, 2, 5, 2, 2, 2,
    5, 4, 5, 3, 2, 2, 5, 1, 2, 2, 4, 4, 2, 3, 3, 2, NA, 2, 2,
    1, 2, 5, NA, 4, NA, 2, 3, 1, 4, 1, NA, 2, 1, 1, 2, 5, 2,
    1, 2, 5, 2, 3, 3, NA, 2, 1, NA, NA, 4, 2, 5, 2, 2, 3, 1,
    NA, 5, 4, 1, 5, 4, 4, 4, 5, 1, NA, 2, 1, NA, 2, 2, 2, 2,
    4, 2, 1, 4, NA, 1, 1, 1, NA, 2, 1, 1, NA, 1, 1, 2, 2, 4,
    2, NA, 3, 1, 1, 1, 3, 2, 2, 1, 3, 1, 5, 2, NA, NA, 2, 3,
    1, 2, 4, 2, 5, 1, 4, 3, 1, 4, 3, 4, NA, 2, 5, 4, 4, NA, 1,
    1, 1, 5, 1, 2, 1, 2, 5, 1, 4, 5, 2, 3, 1, 2, 3, 3, 1, 5,
    4, NA, 1, NA, 1, 5, 2, 2, 2, 1, 1, NA, 2, 4, 1, 2, NA, 2,
    2, 2, NA, 4, 1, 1, 1, 5, NA, 2, 4, 3, NA, 2, NA, 4, 2, 2,
    2, 1, 3, 2, 4, 1, 2, 1, 2, 3, 5, 2, NA, NA, 2, 2, NA, 2,
    3, NA, 1, 1, 4, 4, 2, 2, 2, NA, 2, 2, 3, NA, NA, 1, NA, 4,
    4, NA, 2, 2, 1, 2, 4, 4, 2, NA, 1, NA, 2, 2, 4, 2, 1, 3,
    1, 2, 5, 1, 3, 2, 1, NA, NA, 2, 2, NA, 2, 1, NA, 4, 2, 1,
    2, 1, 2, 4, 1, 1, NA, 1, 1, 1, 2, 2, 3, 3, NA, 4, 2, 4, 1,
    1, 2, 4, 4, 2, 1, 1, NA, 2, 1, 3, NA, 3, 2, 2, NA, 4, 1,
    1, NA, 2, 2, 1, 2, 3, 2, 2, 1, 2, 2, 2, 2, 2, 1, 4, NA, 5,
    5, NA, 5, 1, 4, 1, 1, 2, 2, 2, NA, 2, NA, 1, 2, 4, NA, NA,
    1, NA, 1, 5, 2, 4, 2, 4, 1, 1, 1, NA, 3, NA, 1, NA, 3, NA,
    4, 3, 2, 4, 4, 1, NA, 2, 1, 1, 1, 2, 2, NA, 5, 3, 3, 1, 5,
    1, 4, 2, 1, 5, NA, 5, NA, 2, 2, 2, NA, NA, 2, NA, 4, 1, NA,
    NA, NA, 2, 3, 1, NA, 2, 2, 1, 1, 2, NA, NA, 2, 2, 1, 1, 1,
    2, 2, 2, NA, 4, 1, 4, 2, 3, 4, 4, 3, 1, 3, NA, 5, NA, 2,
    1), label = structure("q23 20% Missing: Mobile an essential part of lifestyle ", .Names = "q2320_16")),
    `q23 20% Missing: Mobile assists personal safety ` = structure(c(2,
    NA, 2, 1, NA, 1, 1, 2, 2, 3, 3, NA, 3, 1, NA, 1, NA, 4, NA,
    NA, 2, 1, 3, 4, 3, NA, 2, 3, 1, 1, 2, 4, 3, 3, 2, 2, 4, NA,
    4, 3, 2, 2, 2, 2, 2, NA, 1, NA, 3, NA, 3, NA, 1, 1, NA, 2,
    4, 2, 3, 1, 1, 1, NA, 1, 1, 3, 1, 3, 1, 2, 1, 1, 2, 2, 1,
    NA, 1, 1, 1, NA, 1, 4, 1, NA, 3, 2, 4, 1, 1, 4, NA, 2, 1,
    2, NA, 1, NA, 2, 1, 4, 1, 2, 5, 1, 2, NA, 2, 1, 2, NA, 2,
    1, NA, 2, 2, 4, 1, 2, 2, 1, 2, 1, 2, 1, 4, 1, NA, 1, 4, 4,
    1, NA, 3, 1, NA, 2, 2, 2, NA, 2, 1, NA, 2, 2, 4, 3, NA, NA,
    2, 2, 1, NA, 1, 4, 2, 2, 1, 2, 1, 1, 2, NA, NA, 4, 2, 1,
    1, 2, 2, 3, NA, 1, NA, 1, 1, 5, 5, 1, NA, 2, 1, 3, 1, NA,
    NA, 5, 1, 1, 2, 1, 2, 2, 2, 2, 4, NA, 3, 3, 1, 3, 2, NA,
    NA, 2, 5, 2, 2, 1, 5, 5, 1, NA, NA, 3, NA, 2, NA, 2, 2, 2,
    1, 2, 5, 1, 2, 1, 2, 3, 4, 5, 5, 4, 5, 3, 2, 1, 2, 1, 1,
    1, 2, 5, 2, 1, 1, 1, 3, NA, 3, 2, 4, NA, 1, 2, 2, NA, NA,
    4, 2, NA, 2, 2, NA, 3, 3, 1, 1, 1, 3, 1, NA, 1, 1, 2, 2,
    1, NA, 3, 2, NA, NA, 1, 2, 2, 5, 2, 4, 2, 1, 3, 2, 2, 1,
    2, 3, 3, 1, 1, 1, 2, 2, 1, 1, 2, 2, NA, 1, NA, 5, NA, 2,
    NA, 2, 1, 5, 1, 1, 2, 2, 1, 4, NA, NA, NA, 2, 1, 1, 1, 2,
    NA, 3, 2, 4, 1, 1, 3, 2, NA, 1, 2, 2, 2, 2, NA, 1, 3, NA,
    NA, 2, NA, 3, 5, 1, 2, 2, 1, NA, 2, 3, 2, 2, NA, 3, 1, 2,
    2, NA, 4, 1, NA, NA, NA, NA, 1, 1, 1, NA, 5, 2, 2, 3, NA,
    2, 2, 3, 2, 2, 2, 1, 2, 1, 2, 2, 2, NA, NA, 1, 2, 1, NA,
    NA, 1, 2, NA, NA, 2, 3, NA, NA, 3, 2, 1, 4, 2, NA, NA, NA,
    2, NA, NA, NA, 2, NA, NA, NA, 4, 2, 5, 1, 2, 3, 2, NA, NA,
    NA, NA, NA, 2, 2, 1, 1, 3, 1, 2, 2, NA, 2, NA, NA, 3, 3,
    2, 1, 1, 4, 1, 2, 2, 1, 1, 1, 1, NA, 5, 1, NA, 2, 1, 2, 2,
    2, 1, 2, NA, 2, 1, 2, 2, 4, 3, 4, 5, 2, 2, 2, 1, 1, 2, NA,
    3, 1, 1, NA, NA, 2, 2, 2, NA, NA, 2, 2, 2, 2, 1, 4, 2, 2,
    2, NA, 2, 1, 1, 5, 3, NA, 1, NA, 2, 3, 1, NA, 3, 2, NA, 2,
    2, 1, 2, 1, 4, 1, 1, 4, 1, 5, 2, 4, 1, 4, 1, 1, 1, 1, NA,
    1, 1, NA, 1, NA, 1, 2, 4, 4, 3, 2, NA, 2, 1, 1, 1, 1, 2,
    NA, 4, 2, 3, 1, 2, NA, 3, 2, 1, 3, 2, 2, 1, 2, 5, 1, NA,
    2, 2, 2, 1, 1, 2, 1, 2, 2, 3, 1, 1, 2, 1, 1, 2, 1, 5, 2,
    NA, 2, 2, 1, 1, 3, 1, 2, 2, NA, NA, NA, 2, 3, 2, 3, 3, 4,
    4, 4, 2, 1, 2, 5), label = structure("q23 20% Missing: Mobile assists personal safety ", .Names = "q2320_17")),
    `q23 20% Missing: Can be contacted whenever needed ` = structure(c(NA,
    2, 4, 1, 1, NA, 1, NA, 1, 1, NA, 2, 2, NA, NA, 5, NA, 1,
    2, 1, NA, 1, 1, 1, NA, 2, 1, NA, NA, 1, 1, 1, NA, 2, 2, 1,
    NA, 1, 1, 1, 2, NA, 2, 1, 1, 1, 2, 1, 1, 2, NA, 1, 2, 1,
    1, NA, 2, 2, 2, 1, 1, 1, 2, 2, NA, 1, 1, 1, 1, 1, 1, 5, 2,
    NA, 2, 1, NA, 1, 1, 1, 1, NA, NA, 4, NA, NA, 2, 1, NA, 1,
    3, 1, NA, 2, 1, 1, 2, 2, 1, NA, 1, 2, 1, NA, 2, 2, 2, NA,
    NA, NA, 1, NA, 2, NA, NA, 1, 1, 1, 4, 1, 2, NA, 2, 1, 2,
    2, NA, 1, 1, NA, 2, 2, 1, NA, NA, NA, NA, 2, NA, 2, 1, 1,
    1, 1, 2, 2, 1, 2, 3, NA, 1, 4, 2, 2, NA, 1, NA, NA, 2, 1,
    NA, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, NA, 1, 2, 1, 2, 1,
    2, NA, 3, 1, 2, 1, 2, 2, 1, NA, 2, 1, 1, 1, NA, 1, 1, 2,
    1, 2, 1, 2, 2, NA, 5, 4, 1, 2, 2, 2, 1, 1, NA, 2, 2, 1, 5,
    NA, 1, 2, 1, 1, NA, 1, NA, 1, 1, 3, NA, 4, 1, NA, 1, 1, NA,
    1, 1, NA, 1, 2, NA, 2, 2, 1, NA, 1, 1, 2, NA, 1, 1, NA, 2,
    NA, NA, NA, 1, NA, 2, NA, 2, 1, 2, 4, NA, 2, 2, 3, 1, 1,
    NA, 2, NA, 1, 1, NA, 4, 2, NA, NA, NA, 2, 1, 1, 1, 1, 2,
    NA, NA, NA, 1, 1, 1, 1, 1, 5, 1, 1, 1, NA, 1, 1, 2, 1, 1,
    1, NA, 1, 1, 2, NA, NA, 1, 2, 1, 4, 2, 1, 4, NA, 1, 2, 2,
    NA, 2, 2, 1, 1, 1, NA, 1, 1, 1, 4, NA, 1, 1, 2, 1, 1, NA,
    2, 2, NA, 1, 1, 2, 3, 1, 2, 1, 2, 1, 2, 1, NA, 2, 1, 2, 1,
    1, 1, 2, 2, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, NA, 1, 1, NA,
    1, 2, 1, 1, NA, NA, NA, 2, 1, NA, 1, 2, NA, 1, 1, 1, 1, 2,
    NA, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, NA, 2, 1, 2, NA, NA, 2,
    3, 2, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, NA, 1, 1,
    4, 2, NA, 1, 2, 2, NA, 1, 2, 1, 2, NA, 1, 2, 1, 2, 1, 1,
    1, 1, 1, 4, 1, NA, 1, 1, NA, 1, 1, NA, 2, 1, NA, 1, 1, NA,
    1, 1, 4, 2, 1, 2, 1, 1, 1, 3, 3, 1, 2, NA, NA, 2, 1, NA,
    1, 1, NA, 1, NA, 1, NA, 1, NA, 2, NA, NA, NA, 4, 1, NA, 1,
    1, NA, 1, 1, NA, 1, 1, 1, NA, 2, NA, NA, 2, 1, 2, 1, 1, 1,
    1, 1, 1, 1, 1, 1, NA, NA, NA, 1, 5, NA, NA, 1, 1, 1, 3, NA,
    1, 1, 1, 1, 2, 1, 1, 1, NA, NA, 1, 2, 1, 1, NA, NA, 2, NA,
    1, 1, 1, 1, 2, 3, 2, NA, 1, 5, NA, 2, 1, 2, NA, 5, 1, 1,
    1, 1, 1, 2, 2, 1, 3, 1, NA, 4, 2, 1, 1, 1, 1, NA, 1, 1, NA,
    NA, 1, 5, 2, NA, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 4,
    3, NA, 1, NA, 4, 2, 1, 2, 1), label = structure("q23 20% Missing: Can be contacted whenever needed ", .Names = "q2320_18")),
    `q23 20% Missing: Only basic functions used ` = structure(c(2,
    2, NA, 5, 4, NA, 4, 1, 4, 4, 2, 1, 2, 4, NA, 1, 3, 1, 1,
    2, 2, 1, 4, 3, 1, 2, 2, 5, 3, 2, 1, 1, 2, 2, 2, NA, NA, NA,
    2, 5, 3, 4, NA, 1, 1, 2, 5, 2, 1, 1, 1, 4, NA, 4, 1, 2, 2,
    2, 3, NA, NA, 1, 4, 1, 1, 5, 2, 5, NA, 1, 1, 1, 3, NA, NA,
    5, NA, 1, NA, NA, 3, 5, NA, NA, 4, 4, 2, NA, 1, 2, 2, 3,
    1, NA, 4, 1, 2, 2, 1, 4, 1, 4, 1, 1, 4, 4, 1, NA, NA, 2,
    NA, 4, 5, 4, 4, 4, 2, 1, NA, 1, NA, 1, NA, 4, NA, 2, NA,
    NA, NA, 2, 4, 2, 1, NA, 1, 2, 5, 2, NA, 5, NA, 1, NA, 1,
    1, 2, 4, 1, 1, 1, 1, 1, 2, 4, NA, NA, 1, 3, NA, NA, 3, 1,
    2, 4, 4, 1, 4, 3, 5, 4, 1, NA, 1, NA, NA, 5, 1, 1, 5, 2,
    5, 4, 1, 1, 4, NA, 1, 1, 2, 4, 3, 3, 3, 1, 2, 4, NA, 4, 1,
    3, 4, 2, 1, 2, 4, 2, 2, 4, 2, 5, 2, 1, 2, 1, 2, NA, NA, 5,
    2, 2, 4, NA, 5, NA, NA, 1, 2, 1, 1, 3, 4, 2, NA, 3, 1, 1,
    4, 1, NA, 5, 4, NA, NA, 4, 1, NA, 2, 1, 4, 5, 3, 2, NA, 2,
    1, 3, 1, 2, 1, 1, NA, 1, 1, 4, 1, 1, 1, 1, NA, 1, NA, NA,
    1, 2, 4, NA, 2, NA, 1, 3, 3, 4, 2, 2, 1, NA, 4, 4, NA, 2,
    3, 1, 1, 4, 2, 1, 1, NA, 1, NA, NA, NA, 1, 1, 5, 2, NA, 1,
    NA, 4, 1, 1, 3, NA, 1, 1, 2, 1, 1, 5, 2, 2, 2, 3, 1, NA,
    NA, 5, 5, NA, 2, NA, 1, 1, NA, 4, 4, NA, NA, 2, 4, 2, 2,
    NA, 1, 2, 2, 1, 5, 1, 1, 5, 3, 3, NA, 4, NA, 1, 1, NA, 5,
    NA, NA, NA, NA, 2, 1, 1, 2, 1, 5, NA, 4, NA, 1, 1, 5, NA,
    NA, 2, 1, 1, 2, 4, NA, NA, 4, 2, 4, NA, NA, 4, 4, 5, NA,
    1, 4, 3, 1, 4, NA, 4, 2, NA, 1, 4, 4, 3, 2, NA, 4, 4, 3,
    2, NA, 3, 1, 4, 4, 1, 1, 4, 4, 3, 1, 1, 2, 2, 1, 2, 1, 3,
    NA, NA, 2, NA, 2, 3, NA, 5, 2, 4, NA, 1, 2, 2, 1, 4, 2, NA,
    NA, NA, 4, 1, 2, 2, 1, 1, NA, 2, 1, 2, 4, 1, 4, 5, 4, 4,
    NA, 4, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, NA, 4, 4, 5, NA,
    1, 4, 1, 2, 1, 2, NA, 1, 3, 1, 4, 2, 1, 4, 2, NA, 1, NA,
    4, 2, 4, 2, 2, 1, NA, 1, 1, 2, NA, 1, 4, 3, NA, 1, 5, 3,
    3, NA, NA, NA, 1, 5, 1, NA, 1, 2, 4, 1, 1, 4, 5, 2, 2, 1,
    NA, 2, 1, 5, 4, NA, 4, 2, NA, 1, NA, NA, 4, 1, 2, 5, 2, NA,
    NA, 4, 5, 5, 1, 4, 2, 5, 3, 1, 3, 5, 3, NA, 1, 1, 1, 1, NA,
    NA, 2, 1, 2, 2, NA, 1, NA, 2, 2, 4, 1, 4, 2, 3, 1, 5, 2,
    2, 1, 1, 1, 2, 2, 2, 1, 5, 2, 4, 2, 2, 1, 1, 1, 2, 2, 2,
    2, 4, 3, 2, 1, 1, 2, 4, 2), label = structure("q23 20% Missing: Only basic functions used ", .Names = "q2320_19")),
    `q23 20% Missing: Like fast internet access on phone ` = structure(c(3,
    4, NA, 1, 3, 4, 3, NA, 5, 3, 3, 5, NA, NA, NA, NA, 3, 4,
    2, 4, 4, 3, NA, 4, NA, 3, 5, NA, 3, NA, 4, 4, 4, NA, NA,
    5, 5, 2, 1, 2, 4, 3, NA, NA, 2, 4, 5, 5, 4, NA, 5, 5, NA,
    3, 3, 4, 3, NA, 3, 1, 1, NA, NA, 4, 3, 1, 5, 1, 5, NA, NA,
    1, 2, NA, 5, NA, 5, 5, 5, 3, 2, 1, 1, 3, 3, 4, 4, 3, NA,
    NA, 5, 3, 5, 4, NA, 5, 1, 4, NA, 2, 5, 3, 5, 3, 5, 3, 4,
    3, 2, 3, NA, 5, 1, 5, 5, 5, 1, NA, 3, 5, NA, 5, NA, 5, 3,
    NA, NA, 2, 4, 5, 4, NA, 4, 5, 3, 5, 5, 5, NA, 5, 3, 1, NA,
    NA, 3, 3, 5, 5, 5, 5, 5, 1, NA, 5, 5, 1, 4, NA, 1, 5, NA,
    NA, 5, NA, 2, 5, NA, 3, 3, 3, 3, NA, 5, 1, 3, 2, NA, 4, 3,
    3, 2, NA, NA, 5, 4, 5, 4, 5, 4, NA, 5, NA, 1, 5, 4, NA, 5,
    4, 4, 3, 2, 3, 3, 3, 1, 4, 3, 4, 2, 5, NA, NA, 2, 4, 4, 2,
    5, 5, 3, 3, 3, NA, 5, 5, NA, 5, NA, 5, 5, 3, 5, 2, NA, NA,
    NA, 5, 2, 3, 5, 3, 4, 5, NA, 4, 5, 4, 5, 3, NA, 4, NA, 3,
    5, 5, 5, 5, 5, 2, 5, 5, 1, 3, 4, NA, 4, 5, 5, 5, 3, 5, 5,
    2, 5, 5, 3, 5, 3, 1, 4, 4, 1, 5, 4, 5, 5, NA, 5, NA, 5, 4,
    5, 4, NA, 5, 1, 5, 3, 2, 3, 3, 2, 3, 3, 4, 1, 3, NA, 5, 1,
    2, 3, NA, NA, 5, 4, 5, 5, 4, 2, NA, 5, 4, NA, 3, 4, 1, 1,
    2, 1, 4, 5, 2, 5, 3, 5, 5, 5, 5, 5, NA, 4, 4, 3, 4, 3, 4,
    NA, NA, 5, 3, 5, NA, 5, 4, 5, NA, 5, 5, 3, 5, 4, 4, 2, NA,
    2, 4, 4, NA, 3, 2, 3, 1, 4, 3, 3, 4, 5, 2, 3, 2, 4, 4, 4,
    2, 4, 5, 2, 4, 4, 5, NA, 5, 1, 1, 5, NA, NA, 3, 4, 4, 5,
    4, 5, 3, NA, NA, 2, NA, 5, 4, NA, 4, 2, 2, 3, NA, 3, 5, 5,
    NA, 5, 5, 4, 5, NA, 3, 3, 1, 5, NA, NA, 1, 1, 3, 1, 5, 1,
    NA, 5, 2, 4, 5, 3, 3, 3, NA, 3, 3, 3, 4, 3, 5, NA, 5, 3,
    4, NA, NA, 1, 4, 3, 3, 5, NA, 5, 5, 3, 2, 3, 4, 3, 4, 2,
    5, 4, NA, NA, 5, NA, 5, 5, 5, 2, NA, 5, 4, NA, 3, 5, 2, 5,
    3, 4, 5, 1, 5, 5, 2, 2, 4, 3, 5, 2, 4, 5, 3, 4, 5, 4, 5,
    NA, 4, 5, 5, NA, 5, 5, 4, 4, 1, NA, 4, 4, 5, NA, 3, NA, NA,
    2, 3, 4, 3, NA, 4, 5, NA, NA, 3, 5, 1, 1, NA, 5, 1, NA, 2,
    4, 3, NA, NA, 5, 4, 5, NA, 3, 2, 2, NA, 1, 4, 3, NA, 2, NA,
    5, 2, 5, 5, NA, 3, 4, 3, 3, 5, 5, NA, 2, NA, 1, 3, 4, 4,
    4, 5, NA, 5, NA, 2, 5, NA, 4, 2, 2, 2, 5, 3, NA, 5, 3, 3,
    NA, 5, NA, NA, 5, 5, 3, 3, NA, 4, NA, NA, NA, 3, 3, NA, 5,
    5, NA, 5, 3, 5, 3), label = structure("q23 20% Missing: Like fast internet access on phone ", .Names = "q2320_20")),
    `q23 20% Missing: Would like mobiles to work as video phones ` = structure(c(4,
    4, 3, 1, 3, 2, NA, NA, NA, 3, 2, 5, 2, 2, NA, 5, 4, 5, 5,
    NA, 5, 1, 4, 1, 5, 1, 1, 1, 3, 1, 4, NA, 4, NA, 1, 5, 1,
    3, 1, 3, 5, NA, NA, NA, 2, 5, 5, 5, 1, 4, NA, 5, 5, 5, 5,
    3, 4, 3, 4, 1, 2, 2, 3, 5, 3, 1, 1, 2, 1, 3, 1, 4, NA, 1,
    5, NA, 5, 5, NA, 2, 1, NA, NA, NA, NA, 3, NA, 2, NA, 5, 1,
    3, 5, 1, 5, 5, 1, 4, 4, 2, NA, 2, NA, 3, NA, 4, NA, NA, 2,
    NA, NA, 5, 3, 2, 5, NA, 1, 3, 3, 5, 4, 5, 4, 1, NA, 3, NA,
    4, 4, 2, 5, 4, 4, 5, 4, NA, NA, 5, NA, 5, NA, 1, NA, 1, 1,
    2, NA, 5, 1, 3, 5, NA, 3, NA, 5, 5, 4, 3, 5, 5, 4, 4, 2,
    2, 4, NA, 5, NA, 1, 2, 3, 5, 5, 1, 2, 1, 3, 5, 1, 3, 2, NA,
    5, 5, 4, NA, 4, 1, NA, 1, 5, 4, NA, 5, NA, 3, NA, 4, NA,
    5, NA, 3, 5, 3, 1, NA, 3, 5, 4, 5, NA, 4, 4, 4, 3, NA, NA,
    2, 4, 2, 3, NA, 5, NA, 5, NA, 4, 5, 5, 2, 5, NA, 1, 3, NA,
    5, 2, 5, 5, 3, 4, 5, NA, NA, 5, 2, 5, 1, 5, 2, NA, 2, 5,
    NA, 3, 5, 5, 2, 5, 5, 2, 1, NA, 2, 5, 5, 5, 5, NA, 5, 5,
    1, 4, 5, 2, 5, 2, 4, 4, NA, 1, NA, 3, 5, 5, NA, 5, 2, 5,
    4, 5, NA, 3, 5, 1, 5, 3, NA, 4, NA, NA, NA, 3, 4, 1, NA,
    5, 5, NA, NA, 3, 5, 4, 5, 4, NA, 5, 4, NA, 1, 5, 3, 2, 4,
    NA, 1, NA, 1, NA, 3, 5, 1, 5, 3, 5, 5, 4, 5, NA, 4, 5, 4,
    3, NA, 3, 4, 4, 2, 3, 4, NA, 5, 5, 4, 4, 3, 5, 2, 2, 2, NA,
    4, NA, 3, NA, 5, NA, NA, 3, 4, 3, 1, 3, NA, 5, 4, 5, 2, NA,
    4, 4, 5, 5, 4, 4, NA, 3, 4, 4, 5, 5, 2, 2, 1, 1, 5, 5, 4,
    4, NA, 2, 5, 2, 1, 3, 4, NA, 2, 5, NA, 5, 5, NA, NA, 3, 3,
    3, 5, NA, 5, 5, 3, 3, 5, NA, 3, 3, 1, 5, NA, NA, NA, NA,
    1, 4, 5, 1, 4, 2, 1, NA, 2, 3, 3, 3, 3, NA, 2, 3, 4, 3, NA,
    NA, NA, 2, 4, NA, 5, 3, 3, 3, 3, 5, 5, 5, 1, 5, 4, NA, NA,
    5, NA, 2, 5, 2, 5, 2, NA, NA, 5, 5, 5, 2, 3, NA, 1, 3, 5,
    5, 1, 5, 3, 4, 5, 4, 5, NA, 3, 4, 5, 3, 5, 4, 5, NA, NA,
    5, 5, 2, 5, 5, NA, 5, 5, NA, NA, NA, 4, NA, 1, NA, NA, 5,
    1, NA, 5, 5, 3, NA, 3, 4, 3, 4, 5, 5, 2, 1, 1, NA, NA, 1,
    NA, 2, 2, 5, 3, 5, 5, NA, 5, 5, 4, 2, 4, 3, 2, 4, 5, 5, 5,
    3, 1, 4, 5, 2, 3, 5, 3, 3, 2, 2, 2, 3, 5, 5, 4, 4, 1, 1,
    NA, 4, 4, 3, NA, 2, 5, NA, 1, 3, 1, 3, 4, 5, 2, 5, 5, 4,
    5, 3, 5, 3, NA, 4, 4, 5, 3, 4, 3, 2, 4, 4, 2, NA, 2, 2, 5,
    NA, 5, 5, 5, 5, 5, 1), label = structure("q23 20% Missing: Would like mobiles to work as video phones ", .Names = "q2320_21")),
    `q23 20% Missing: Would like mobiles to download and play music ` = structure(c(4,
    NA, NA, 1, 3, NA, 3, 5, 5, 3, 2, NA, 2, 2, NA, NA, 3, 5,
    4, 4, 2, NA, NA, 2, 4, 1, 1, 1, 2, 4, 4, 4, 4, NA, NA, NA,
    2, NA, 1, 3, 3, 2, NA, NA, 2, NA, 1, 5, 3, 4, 5, 5, NA, 2,
    3, 3, 4, 2, 1, 1, NA, 2, NA, NA, 3, 1, 1, 2, 1, 3, 1, 4,
    NA, 1, 5, 5, 5, 5, NA, NA, NA, 1, NA, 5, NA, 3, 4, 3, 5,
    4, 3, NA, 5, 1, NA, 5, NA, 4, NA, NA, 5, 2, 5, 5, 5, 4, 4,
    3, 2, 3, 1, 5, 2, 1, 5, NA, 2, 4, 5, NA, 4, 5, 2, 1, 2, 3,
    NA, NA, 2, 2, 2, 5, 4, 3, 4, 5, NA, NA, NA, 5, 3, 1, 3, 1,
    1, 2, 3, 5, 3, 3, 5, 3, 3, 1, NA, 3, NA, 3, 1, 5, 4, 5, NA,
    2, 2, NA, 1, 5, 1, 2, 3, 5, NA, NA, 1, 1, 3, NA, 2, 3, 1,
    4, 1, NA, 3, 5, 5, 5, 5, 1, NA, 4, 2, NA, 2, 2, NA, 4, 4,
    2, 1, NA, NA, 3, NA, NA, 3, 2, 5, 5, 1, 2, 2, 5, 1, 2, NA,
    3, 2, 3, 2, 5, 5, NA, NA, 5, 2, 5, NA, 2, 2, 3, 1, 2, 2,
    5, 1, NA, 5, 4, NA, 5, 4, 2, 5, 2, 5, 3, 5, NA, 3, 3, 5,
    1, 3, NA, 1, 2, 2, NA, 1, NA, 5, 3, 5, 5, 5, 5, 2, 3, 5,
    NA, 5, 4, 1, NA, 3, NA, 3, 1, 1, 1, NA, 5, 5, 4, 2, 1, NA,
    NA, 5, NA, 4, 5, 1, 5, 2, NA, 4, 3, NA, 3, 1, 4, 1, 2, 5,
    5, NA, 5, 4, 5, 4, 1, 1, 5, 1, 4, 3, 1, 5, NA, 5, NA, 4,
    1, NA, 1, NA, 3, 5, 1, 5, 3, 5, 5, 3, 5, 2, 4, 4, 4, 3, 1,
    3, 4, 2, NA, 1, NA, 5, 3, 5, 2, 5, 1, NA, 5, 4, 4, 1, 4,
    1, 1, 5, 5, 2, 3, 4, 5, 4, 1, NA, 3, 5, 4, 2, NA, 5, 4, 4,
    5, 5, NA, 4, 5, 3, NA, 4, NA, 5, NA, 3, NA, 3, NA, 5, 4,
    4, 5, NA, NA, 2, 1, NA, 4, NA, 3, 5, 5, 5, 5, 3, 2, 3, 3,
    NA, 5, 5, 5, 5, 4, 2, NA, NA, NA, NA, NA, NA, 3, NA, 1, 1,
    1, 5, 5, 1, 2, 1, 2, 4, 1, 3, 3, 3, 3, 3, 2, 4, 4, 3, 2,
    2, NA, 4, 5, NA, 1, NA, 2, NA, 3, 2, 5, 1, 5, 5, 4, 3, 1,
    NA, 4, NA, 5, NA, 2, NA, 5, 5, 5, 5, 5, 1, 2, 4, NA, 3, 2,
    5, 3, NA, 4, 4, 5, 3, 5, NA, 4, 4, 5, 3, 5, 5, 5, 3, 3, 3,
    5, 5, 5, 5, 1, 5, NA, NA, 5, 5, 1, 4, 4, 1, 2, 5, 1, NA,
    5, 1, 3, 5, 3, 3, 3, 1, 2, 5, NA, 2, 1, 5, 5, 1, NA, 1, 1,
    5, NA, NA, 4, NA, 5, 5, 4, 1, 5, 3, 2, 5, 5, 3, 5, 3, 1,
    2, NA, 3, 2, 1, 3, 3, 1, 1, 1, NA, 5, NA, NA, 2, 1, 1, 3,
    NA, NA, 3, NA, 2, 5, 5, 1, 5, 1, 1, 1, 3, 2, NA, 2, 4, 5,
    3, 5, NA, 2, 4, 4, NA, NA, 2, 3, 2, 4, 4, NA, 5, 5, 4, NA,
    3, 5, NA, NA, 5, 5, NA), label = structure("q23 20% Missing: Would like mobiles to download and play music ", .Names = "q2320_22")),
    `q23 20% Missing: Would like mobiles to download and view short videos ` = structure(c(NA,
    4, 3, 1, 3, 3, 3, 5, 5, 5, 4, 5, 2, 3, NA, 5, NA, 5, NA,
    NA, 5, 4, 3, NA, 5, 1, 1, 1, 2, 4, 4, 4, 4, NA, 1, 5, 4,
    2, 1, 3, 3, 3, NA, NA, 2, NA, NA, 5, NA, 4, 5, 5, 4, 2, 2,
    3, 4, 2, 3, 1, 1, 2, NA, 5, 3, 1, 1, 2, 1, NA, 1, 4, 4, NA,
    5, 5, NA, 5, NA, NA, 1, 1, NA, 1, 2, 3, 4, 3, 5, 4, 3, 3,
    5, 1, 5, NA, 1, NA, 4, NA, NA, 2, 5, 5, 5, 4, 4, 3, 2, NA,
    2, 5, 3, 1, 5, 3, NA, 4, 5, 5, 4, NA, 1, 1, 3, 3, NA, 4,
    NA, 2, NA, 5, 4, 5, 4, 5, 5, 5, NA, NA, NA, 1, 3, 1, 1, 2,
    4, 5, 4, 3, 5, NA, 3, 2, 4, 5, 5, NA, 1, 5, NA, 5, 3, NA,
    NA, 5, 4, 5, 1, 2, 3, 5, 5, 1, 1, 2, 3, 4, 2, NA, 2, NA,
    3, 5, NA, 5, NA, 5, 5, 1, 5, 4, 4, 5, NA, 4, NA, 4, 4, 4,
    1, 3, NA, NA, 1, NA, 4, 1, 5, 5, 1, 4, NA, 5, 2, 3, NA, 3,
    2, 2, 5, 5, 5, 5, 4, 5, 4, 5, 5, 3, 2, 3, 1, 4, 2, 5, 2,
    NA, 5, 3, NA, 5, 4, NA, 5, 1, 5, 3, 5, 2, 3, 3, 5, 5, 5,
    5, 1, 2, 5, 5, NA, 1, NA, 3, 5, 5, 5, 5, 3, 5, 5, 1, 5, NA,
    2, 5, 2, 3, NA, 3, 1, 1, 3, 5, 5, 4, 5, 1, 5, NA, 5, 4, 4,
    5, 1, 5, 3, 2, NA, 3, NA, NA, 1, 4, 1, NA, 5, NA, 5, 5, 4,
    5, NA, NA, NA, NA, 5, 5, 4, 1, NA, NA, 5, 3, 4, 5, 5, NA,
    NA, 3, 5, NA, 5, 3, 5, 5, 3, 5, 2, 4, NA, 4, 3, NA, 3, 4,
    5, 5, 3, 4, 5, 3, 5, 3, NA, 3, 5, 3, 2, 4, 1, 4, NA, 2, 5,
    NA, 3, NA, 4, NA, 3, 1, 3, 3, 5, 4, 2, 1, 5, 5, 4, 5, 5,
    4, NA, NA, 3, 5, 4, 5, 5, NA, 3, 1, 1, 5, 5, 4, 4, 5, 4,
    NA, 4, 1, 5, 4, 5, 3, 5, 5, 5, 5, 3, 3, 3, 3, 3, NA, 5, 5,
    5, 4, 5, 5, 5, NA, 4, 3, 5, 3, NA, 1, 1, NA, 5, NA, 2, 3,
    5, NA, 3, NA, 4, 3, NA, 3, NA, 1, NA, 4, 3, 2, NA, 4, 5,
    5, 3, NA, 3, NA, 3, 3, NA, 5, 5, 5, 5, NA, 3, 1, 4, NA, 2,
    5, 2, 4, 3, NA, NA, 5, NA, 5, 1, 3, 4, 4, 3, 5, 5, 1, 5,
    4, 4, 5, 3, 5, 5, 4, NA, 5, NA, 5, 5, 5, 5, NA, 4, 5, NA,
    5, NA, 1, 5, 5, NA, 5, 5, 4, 4, 2, 3, 1, NA, 1, NA, 5, 1,
    3, 5, 3, NA, 3, 3, 3, 5, 2, NA, 1, NA, 5, 1, 2, 1, 1, 5,
    4, 5, NA, NA, 5, NA, 4, NA, 5, 3, 2, 5, NA, 5, NA, 3, 1,
    3, NA, NA, NA, NA, 3, 3, 2, 3, 1, 3, 5, 5, NA, 2, 1, 1, 4,
    4, 4, NA, 5, 1, 5, NA, 1, 5, 1, 4, NA, 3, NA, 5, NA, 4, 5,
    NA, 5, NA, 1, 4, 4, NA, 4, 3, NA, 3, 4, 3, 3, NA, 5, 3, 5,
    3, 5, NA, 5, 5, 5, 2), label = structure("q23 20% Missing: Would like mobiles to download and view short videos ", .Names = "q2320_23")),
    `q23 20% Missing: More likely to change companies in the future due to number portability ` = structure(c(2,
    3, 3, 5, 2, 3, NA, NA, NA, NA, 3, 5, 3, 4, NA, 3, 3, 1, 1,
    5, 4, 1, 1, 2, 1, 2, 1, 3, 4, 1, 2, 1, 2, 3, 2, 1, 1, 1,
    1, 2, 2, 2, 2, 2, 2, 4, NA, NA, NA, 2, 1, 1, 2, 3, 1, 3,
    4, NA, NA, NA, 3, 2, 2, NA, 3, 1, 3, 1, NA, 2, 1, 4, 3, 5,
    3, 2, 2, NA, NA, 1, 3, 1, NA, 3, 1, 1, 2, NA, 1, 2, NA, 4,
    NA, 2, 3, NA, 1, 4, 1, 2, 3, 2, 2, 1, 1, 1, 2, 4, 1, 3, 1,
    2, 2, 2, 1, 3, NA, 1, 1, 1, 4, 1, NA, 1, 3, 2, NA, 2, 3,
    3, 5, 2, NA, 1, 1, 5, NA, NA, NA, 5, 2, 1, 2, NA, 1, 2, 2,
    1, 2, 1, NA, NA, NA, 4, 4, 1, 1, 2, 2, 1, 1, 3, 2, 2, 4,
    1, NA, 2, 3, 1, 2, 1, 4, 3, 1, 1, 3, 2, 5, 3, 1, 2, 1, 5,
    3, 1, 2, 1, 2, 1, 1, NA, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2,
    NA, 3, NA, 2, 1, 2, 2, 2, 4, 2, 5, 3, 2, NA, 3, 1, 1, 2,
    2, NA, 5, 2, 5, 2, 5, 5, 1, 5, NA, 4, 2, 3, 5, 1, 1, 2, 2,
    2, 1, 2, NA, NA, 1, NA, 1, NA, 2, 4, 2, 3, 1, 3, 5, 5, 1,
    1, 1, NA, NA, 2, NA, 3, 1, 1, 1, NA, NA, 1, 1, 1, 2, 1, 1,
    NA, 3, 3, 1, NA, 1, NA, NA, 1, 1, 2, 1, 2, NA, NA, 2, 2,
    2, NA, 1, NA, 2, NA, 4, 2, 2, 2, 2, 3, 2, 2, 5, 1, 2, 3,
    5, NA, NA, 5, NA, NA, 3, 4, 1, 4, NA, 5, 1, 4, 1, NA, 1,
    2, NA, 2, 4, 3, 3, 1, 3, NA, 1, 3, 3, 1, 2, 1, 1, 4, 3, 1,
    NA, NA, 2, 3, 3, 2, 2, 2, NA, NA, 3, 2, 2, 1, NA, 3, 3, 1,
    2, 2, 1, 1, 2, 3, 1, 2, 4, 1, 1, 2, 2, 3, 3, 2, NA, 4, 1,
    NA, 2, NA, 3, NA, 3, 5, 4, 1, 3, NA, NA, 3, NA, NA, NA, 2,
    3, NA, 2, 1, NA, NA, 1, 1, 2, 2, NA, 3, 2, NA, NA, NA, 4,
    2, NA, NA, NA, 1, 1, 1, NA, 1, 2, 3, 1, 1, 1, 1, 1, NA, NA,
    1, 1, 1, NA, 3, 4, 2, NA, 2, NA, NA, 1, NA, 3, 1, 1, 2, 1,
    2, 1, 2, 1, 2, 1, NA, NA, 5, NA, NA, 1, 3, 2, 3, 1, NA, 2,
    4, 5, 2, 5, 3, 2, 3, NA, 5, NA, 2, 4, 3, 1, NA, 1, 5, 2,
    3, 1, 2, 1, NA, 1, 5, 4, 3, 3, 2, 1, 1, 2, NA, 1, 2, 4, NA,
    4, 4, 1, NA, NA, NA, 5, 4, 4, NA, 2, 1, 1, 1, NA, 1, 1, 2,
    2, 1, NA, 2, 1, 2, NA, 5, 2, 2, 1, 1, NA, 1, 2, 1, 1, 5,
    NA, 2, 1, NA, 1, 1, 4, 1, NA, 1, 1, 3, 2, 1, 3, NA, 1, NA,
    5, 2, 3, 5, 1, NA, 1, 2, 2, 2, 5, 4, 4, NA, 1, NA, 3, 3,
    4, NA, NA, 1, 5, 5, 2, 1, 1, 1, 1, 3, NA, 1, 1, 1, NA, 1,
    NA, 3, NA, 4, 4, 3, 2, NA, 3, 2, 3, 3, 2, 2, 3, 3, NA, NA,
    NA, NA, 1, 1, 1, 2), label = structure("q23 20% Missing: More likely to change companies in the future due to number portability ", .Names = "q2320_24")),
    `q23 20% Missing: Would like to do mobile banking with phone ` = structure(c(1,
    3, 3, 1, 2, NA, 2, 3, 1, 5, NA, 4, 2, 3, NA, 5, 2, 3, 2,
    5, 2, 1, 2, 2, NA, 4, 3, 1, 4, 3, NA, 1, 2, NA, 1, NA, 2,
    2, 1, 4, 2, 2, 3, NA, 2, 5, 1, NA, 2, 4, 5, 3, 4, NA, NA,
    2, 4, 2, 4, 1, 1, 2, 5, NA, 3, 1, NA, 1, 2, 2, 3, 1, 2, NA,
    4, 5, 5, 5, NA, 5, 2, 1, 4, 3, NA, NA, 2, 1, 3, 4, 4, 2,
    5, 5, 4, 3, 1, 4, 4, 2, 3, 2, 2, 3, 1, 4, NA, 1, 3, 3, 2,
    5, NA, 3, 3, 4, NA, 1, NA, NA, 5, 5, 1, 5, 3, NA, NA, 2,
    NA, 2, 5, 5, 4, 5, 2, 5, 5, 5, NA, 5, 4, 1, 2, 3, 2, 3, 3,
    1, NA, 4, 5, 3, 2, 4, 4, 2, 2, 2, 1, 5, 4, 4, 3, 3, NA, 3,
    2, 3, NA, 3, 2, 1, 5, 3, 1, 1, 3, 2, 4, 3, NA, NA, 1, NA,
    2, NA, NA, 1, 4, 3, 2, 2, NA, NA, 2, 4, 5, 3, 4, 2, 1, 3,
    2, NA, 5, 4, 3, NA, 2, 5, 1, 4, NA, 3, 4, NA, NA, 5, 1, 3,
    1, 2, 5, 5, 3, 5, 2, 5, 5, 2, 1, 1, NA, 1, 1, 5, 1, NA, 5,
    2, 5, 5, 1, 4, 4, 1, 2, 3, 3, 2, 5, NA, 5, 2, 1, NA, 5, 1,
    1, NA, 1, 1, 2, NA, 3, 5, NA, 5, NA, 5, NA, 1, NA, 2, 2,
    4, 5, 3, NA, 2, 1, 2, 3, 5, 2, 2, 1, NA, 4, 2, 5, 4, 1, NA,
    3, 5, 1, 2, 1, NA, 4, 3, 4, 2, 1, NA, 5, 5, 5, NA, NA, 1,
    2, 1, 1, 5, 4, 4, 3, NA, 4, 3, NA, 1, NA, NA, 1, 1, 2, 1,
    5, 1, 4, 2, 5, 4, 2, 5, 2, 4, 2, 2, 2, NA, 4, 4, 5, 2, 1,
    3, NA, NA, 4, 2, 5, NA, 5, NA, 4, 5, 5, 4, NA, 2, 4, 3, 1,
    NA, 1, 2, 3, 2, 2, 3, 3, 1, 2, 4, 5, 3, 4, 3, NA, 2, 4, 4,
    NA, 2, NA, 5, 5, NA, 1, 3, 2, 2, 3, 3, 3, 2, 4, NA, 3, 2,
    2, NA, 2, 1, 2, 5, NA, 2, NA, 3, 3, 3, 3, 4, 2, 5, 5, NA,
    NA, 3, 5, 5, 1, 1, 5, 2, NA, NA, 1, 3, 2, 1, 2, NA, 5, 1,
    1, 4, NA, 4, 3, 3, 4, 1, 3, NA, 3, 3, 2, 2, 4, 4, 5, 3, 2,
    2, 3, 2, 2, 4, 1, 5, 3, 4, 3, 3, 3, NA, NA, 5, 2, 4, 3, 5,
    5, 5, 5, 5, NA, 1, 3, 1, 2, 3, 3, NA, NA, 1, 4, NA, 3, 2,
    1, 3, 3, 2, 4, 5, 2, 5, 5, 1, 2, NA, 1, 2, 2, 1, 4, 5, NA,
    5, 3, 3, 3, NA, 1, NA, 4, NA, NA, NA, 5, 2, NA, 4, 3, 3,
    4, 3, 5, 2, 2, 1, NA, 1, NA, NA, NA, 1, 1, 2, 2, NA, NA,
    5, 5, 4, 3, 5, NA, 2, NA, 5, 1, 4, 1, 1, 1, NA, 5, 2, 5,
    2, 2, 4, 2, 3, 1, 4, 4, 4, 5, 1, 1, 4, 4, 4, 5, NA, 1, 5,
    5, 3, 4, NA, 5, NA, 2, 2, 4, 2, 1, 3, 5, 3, 2, 3, 1, 2, 3,
    NA, 3, 3, 2, 4, NA, 3, NA, NA, 4, NA, 5, 5, 5, 5, NA, 5,
    5), label = structure("q23 20% Missing: Would like to do mobile banking with phone ", .Names = "q2320_25"))), .Names = c("q23 20% Missing: Allows to keep in touch ",
"q23 20% Missing: Technology fascinating ", "q23 20% Missing: Like look of phones ",
"q23 20% Missing: Surprised by bill size ", "q23 20% Missing: Stops other people monitoring ",
"q23 20% Missing: Difficult to determine best deal ", "q23 20% Missing: Spent a lot of time shopping for best deal ",
"q23 20% Missing: Closely monitors time on phone ", "q23 20% Missing: Cost is a factor when deciding to SMS or phone ",
"q23 20% Missing: All friends have mobiles ", "q23 20% Missing: Large phones mean no image ",
"q23 20% Missing: Calls kept short and to the point ", "q23 20% Missing: Important to be able to contact friends whenever ",
"q23 20% Missing: Email used more than mobile ", "q23 20% Missing: Only use mobile for essential calls ",
"q23 20% Missing: Mobile an essential part of lifestyle ", "q23 20% Missing: Mobile assists personal safety ",
"q23 20% Missing: Can be contacted whenever needed ", "q23 20% Missing: Only basic functions used ",
"q23 20% Missing: Like fast internet access on phone ", "q23 20% Missing: Would like mobiles to work as video phones ",
"q23 20% Missing: Would like mobiles to download and play music ",
"q23 20% Missing: Would like mobiles to download and view short videos ",
"q23 20% Missing: More likely to change companies in the future due to number portability ",
"q23 20% Missing: Would like to do mobile banking with phone "
), row.names = c(NA, 623L), class = "data.frame")

test_that("Correct dimensions",
{
    res <- Imputation(test.data.1)[[1]]
    expect_equal(rownames(res), rownames(test.data.1))

    res2 <- Imputation(dat2)[[1]]
    expect_equal(rownames(res2), rownames(dat2))
    expect_equal(colnames(res2), colnames(dat2))
})


test_that("Rownames preserved",
{
    sb <- !is.na(bank$ID) & bank$ID > 300
    est.dat <- Imputation(bank[sb,], Overall~Fees+Interest, m = 1, seed = 0)[[1]]
    expect_equal(sum(rownames(est.dat) %in% rownames(bank[sb,])), 181)
})

test_that("No imputation needed",
{
    expect_warning(z <- Imputation(seq(100)), NA)
    expect_equal(z[[1]], seq(100))
})

test_that("Imputation with a single variable",
{
    num <- 1:100
    num[1:3] <- NA
    fac <- as.factor(sample(3, 100, replace = TRUE))
    is.na(fac) <- 3:5

    out <- Imputation(data.frame(x = num), method = "mice", m = 2)
    expect_false(anyNA(out[[2L]]))
    ## mice samples existing values to get imputed values
    expect_equal(sort(na.omit(unique(num))[]),
                 sort(unique(out[[1]][, 1])))

    out <- Imputation(data.frame(x = fac), method = "mice", m = 1)
    expect_false(anyNA(out[[1L]]))
    ## mice samples existing values to get imputed values
    expect_equal(sort(na.omit(unique(fac))[]),
                 sort(unique(out[[1]][, 1])))


    out <- Imputation(data.frame(x = num), method = "hot deck", m = 1)
    expect_false(anyNA(out[[1L]]))

    out <- Imputation(data.frame(x = fac), method = "hot deck", m = 2)
    expect_false(anyNA(out[[1L]]))
})

test_that("Imputation works with date variables",
{
    dat.var <- structure(c(1504742400, 1481760000, 1435795200, 1477526400, 1497484800,
    1456358400, 1482364800, 1438819200, 1449100800, 1437004800, 1481760000,
    1513209600, 1493856000, 1462665600, 1439424000, 1446076800, 1444262400,
    1464825600, 1494460800, 1485993600, 1478131200, 1449705600, 1463616000,
    1483574400, 1461801600, 1461801600, 1484784000, 1501113600, 1495065600,
    1479945600, 1446681600, 1501113600, 1457568000, 1483574400, 1498089600,
    1476921600, 1437609600, 1447286400, 1453334400, 1469664000, 1487808000,
    1504742400, 1449100800, 1506556800, 1437609600, 1452124800, 1442448000,
    1449100800, 1446681600, 1487203200, 1476921600, 1510185600, 1508371200,
    1437004800, 1447891200, 1481760000, 1442448000, 1458172800, 1485993600,
    1440028800, 1437004800, 1438819200, 1467849600, 1455753600, 1457568000,
    1443657600, 1500508800, 1500508800, 1481155200, 1492646400, 1451520000,
    1508976000, 1454544000, 1476316800, 1441238400, 1480550400, 1489017600,
    1447891200, 1458172800, 1446076800, 1500508800, 1496880000, 1444867200,
    1487203200, 1450915200, 1496880000, 1473292800, 1502928000, 1452729600,
    1496275200, 1496275200, 1448496000, 1440633600, 1452124800, 1455753600,
    1446681600, 1506556800, 1458777600, 1487808000, 1440028800), class = c("POSIXct",
    "POSIXt", "QDate"), QDate = structure(c(27L, 18L, 1L, 16L, 24L,
    8L, 18L, 2L, 6L, 1L, 18L, 30L, 23L, 11L, 2L, 4L, 4L, 12L, 23L,
    20L, 17L, 6L, 11L, 19L, 10L, 10L, 19L, 25L, 23L, 17L, 5L, 25L,
    9L, 19L, 24L, 16L, 1L, 5L, 7L, 13L, 20L, 27L, 6L, 27L, 1L, 7L,
    3L, 6L, 5L, 20L, 16L, 29L, 28L, 1L, 5L, 18L, 3L, 9L, 20L, 2L,
    1L, 2L, 13L, 8L, 9L, 4L, 25L, 25L, 18L, 22L, 6L, 28L, 8L, 16L,
    3L, 18L, 21L, 5L, 9L, 4L, 25L, 24L, 4L, 20L, 6L, 24L, 15L, 26L,
    7L, 24L, 24L, 5L, 2L, 7L, 8L, 5L, 27L, 9L, 20L, 2L), class = c("ordered",
    "factor"), .Label = c("July 2015", "August 2015", "September 2015",
    "October 2015", "November 2015", "December 2015", "January 2016",
    "February 2016", "March 2016", "April 2016", "May 2016", "June 2016",
    "July 2016", "August 2016", "September 2016", "October 2016",
    "November 2016", "December 2016", "January 2017", "February 2017",
    "March 2017", "April 2017", "May 2017", "June 2017", "July 2017",
    "August 2017", "September 2017", "October 2017", "November 2017",
    "December 2017")), questiontype = "Date", dataset = "burger_subset",
    codeframe = list(Date = 0L), name = "date", label = "Date", question = "Date")

    set.seed(808)
    dat <- data.frame(date = dat.var, x = as.factor(sample(3, length(dat.var), TRUE)),
                      y = rnorm(length(dat.var)))
    is.na(dat$date) <- c(2, 4, 6)
    is.na(dat$x) <- 1:3
    is.na(dat$y) <- 9:10
    out <- Imputation(dat, m = 2)
    expect_false(anyNA(out[[1]]))
    expect_equal(colnames(out[[2]]), colnames(dat))
    expect_is(out[[1]][, 1], "QDate")

    out <- Imputation(dat, method = "hot deck")[[1L]]
    expect_false(anyNA(out))
    expect_equal(colnames(out), colnames(dat))
    expect_is(out[, 1], "QDate")
})

test_that("Imputation still works if duplicate factor levels present",
{
    set.seed(333)
    dat <- data.frame(x = rnorm(50), y = rnorm(50))
    dat$z <- structure(c(4L, 2L, 2L, 2L, 3L, 2L, 2L, 3L, 2L, 1L, 3L, 1L, 1L,
        3L, 1L, 3L, 1L, 1L, 4L, 3L, 4L, 1L, 1L, 4L, 2L, 4L, 2L, 2L, 3L,
        2L, 1L, 1L, 1L, 2L, 2L, 3L, 4L, 2L, 2L, 1L, 2L, 1L, 3L, 4L, 2L,
        1L, 1L, 1L, 1L, 2L), .Label = c("A", "B", "C", "A"), class = "factor")
    is.na(dat) <- cbind(1:6, rep(1:3, each = 2))
    out <- Imputation(dat)[[1L]]
    expect_false(anyNA(out))
    expect_equal(levels(out$z), levels(dat$z))
})

test_that("Imputation works with text variables",
{
    set.seed(3335)
    dat <- data.frame(x = rnorm(50), y = runif(50))
    dat$z <- sample(c("", letters[1:4]), 50, TRUE)
    is.na(dat) <- cbind(6:1, rep(1:3, each = 2))
    out <- Imputation(dat, m = 2)[[2L]]
    expect_false(anyNA(out))
    expect_is(out$z, "character")
    expect_equal(sort(unique(out$z)), letters[1:4])  # no ""
})

test_that("Method hot deck imputes all NA rows",
{
    set.seed(234)
    dat <- data.frame(x = runif(100, -1, 1), y = rnorm(100))
    dat[5:6, ] <- NA
    dat[7, 1] <- NA
    out <- Imputation(dat, method = "hot deck")[[1L]]
    expect_false(anyNA(out))
    expect_equal(dim(out), dim(dat))
})

test_that("DS-3981: Improve error messages",
{
    dat <- data.frame(x=c(1,NA,1, 1), z = c("a",NA,'b','a'),y = c("b",NA,'b', "a"))
    expect_error(Imputation(dat, method = "mice"),
    "Log Events:\nit = 0, im = 0, dep = , meth = constant, out = A1")
    expect_error(Imputation(dat, method = "hot deck"),
                 "the standard deviation is zero")
    expect_error(Imputation(dat, method = "try mice"),
                 "the standard deviation is zero")
})
NumbersInternational/flipImputation documentation built on Feb. 26, 2024, 5:37 a.m.