Running ‘testthat_tests.R’ [16s/17s]
Running the tests in ‘tests/testthat_tests.R’ failed.
Complete output:
  > library(testthat)
  > library(EdSurvey)
  Loading required package: lfactors
  lfactors v1.0.4
  
  EdSurvey v2.0.3
  
  
  Attaching package: 'EdSurvey'
  
  The following objects are masked from 'package:base':
  
      cbind, rbind
  
  > Sys.setenv(NOT_CRAN="")
  > test_check('EdSurvey')
  ── 1. Error: getData (@test-0-main.R#50)  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_known_value(gd1 <- getData(sdf, c("dsex", "b017451")), file = "gd1.rds", update = FALSE) at testthat/test-0-main.R:50
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: getData(sdf, c("dsex", "b017451"))
  5: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  7: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 2. Error: getData order of userConditions (@test-0-main.R#118)  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: getData(sdf_males, c("dsex")) at testthat/test-0-main.R:118
  2: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  3: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  4: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 3. Error: rename.sdf (@test-0-main.R#135)  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: getData(sdf, c("dsex", "composite", "origwt")) at testthat/test-0-main.R:135
  2: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  3: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  4: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 4. Error: lm.sdf (@test-0-main.R#168)  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: lm.sdf(~dsex + b017451, sdf) at testthat/test-0-main.R:168
  2: calc.lm.sdf(formula = formula, data = data, weightVar = weightVar, relevels = relevels, varMethod = varMethod, jrrIMax = jrrIMax, omittedLevels = omittedLevels, defaultConditions = defaultConditions, missingDefaultConditions = missing(defaultConditions), recode = recode, returnVarEstInputs = returnVarEstInputs, returnLm0 = FALSE, call = call)
  3: do.call(getData, getDataArgs)
  4: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", 
     "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", 
     "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", 
     "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", 
     "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", 
     "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", 
     "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "dsex", "b017451", "origwt"), returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  5: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  7: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 5. Error: lm.sdf: Taylor series (@test-0-main.R#216)  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_is(sdf_taylor <- lm.sdf(composite ~ sdracem + dsex + pared, subset(sdf, pared == 1 | pared == 2, verbose = FALSE), weightVar = "origwt", varMethod = "Taylor", jrrIMax = Inf), "edsurveyLm") at testthat/test-0-main.R:216
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: lm.sdf(composite ~ sdracem + dsex + pared, subset(sdf, pared == 1 | pared == 2, verbose = FALSE), weightVar = "origwt", varMethod = "Taylor", jrrIMax = Inf)
  5: calc.lm.sdf(formula = formula, data = data, weightVar = weightVar, relevels = relevels, varMethod = varMethod, jrrIMax = jrrIMax, omittedLevels = omittedLevels, defaultConditions = defaultConditions, missingDefaultConditions = missing(defaultConditions), recode = recode, returnVarEstInputs = returnVarEstInputs, returnLm0 = FALSE, call = call)
  6: do.call(getData, getDataArgs)
  7: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(pared == 1 | pared == 2), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", 
     "m815601", "m815801", "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", 
     "srwt43", "srwt44", "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", 
     "mrpcm5", "m075201", "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", 
     "m046301", "m047001", "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", 
     "m142101", "m142201", "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", 
     "m111201", "m111301", "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "sdracem", "dsex", "pared", "origwt", "jkunit", "repgrp1"), returnJKreplicates = FALSE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  8: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  9: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  10: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 6. Error: edsurveyTable with N=0 (@test-0-main.R#318)  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: edsurveyTable(~b003501 + m815401, data = sdf, omittedLevels = FALSE) at testthat/test-0-main.R:318
  2: calcEdsurveyTable(formula, data, weightVar, jrrIMax, pctAggregationLevel, returnMeans, returnSepct, varMethod, drop, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs)
  3: getData(data, reqvar, includeNaLabel = includeNaLabel, returnJKreplicates = (varMethod == "j" & (returnMeans | returnSepct)), dropUnusedLevels = dropUnusedLevels, drop = drop, omittedLevels = omittedLevels, recode = recode, addAttributes = TRUE)
  4: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  5: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 7. Error: edsurveyTable2pdf (@test-0-main.R#344)  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: edsurveyTable(composite ~ dsex + b017451, sdf) at testthat/test-0-main.R:344
  2: calcEdsurveyTable(formula, data, weightVar, jrrIMax, pctAggregationLevel, returnMeans, returnSepct, varMethod, drop, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs)
  3: getData(data, reqvar, includeNaLabel = includeNaLabel, returnJKreplicates = (varMethod == "j" & (returnMeans | returnSepct)), dropUnusedLevels = dropUnusedLevels, drop = drop, omittedLevels = omittedLevels, recode = recode, addAttributes = TRUE)
  4: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  5: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 8. Error: edsurveyTable: Taylor (@test-0-main.R#355)  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: edsurveyTable(composite ~ dsex + b017451, sdf, jrrIMax = 1, varMethod = "Taylor") at testthat/test-0-main.R:355
  2: calcEdsurveyTable(formula, data, weightVar, jrrIMax, pctAggregationLevel, returnMeans, returnSepct, varMethod, drop, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs)
  3: getData(data, reqvar, includeNaLabel = includeNaLabel, returnJKreplicates = (varMethod == "j" & (returnMeans | returnSepct)), dropUnusedLevels = dropUnusedLevels, drop = drop, omittedLevels = omittedLevels, recode = recode, addAttributes = TRUE)
  4: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  5: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 9. Error: variable label stored as attributes (@test-0-main.R#389)  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: edsurveyTable(composite ~ dsex + b017451, sdf, jrrIMax = 1) at testthat/test-0-main.R:389
  2: calcEdsurveyTable(formula, data, weightVar, jrrIMax, pctAggregationLevel, returnMeans, returnSepct, varMethod, drop, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs)
  3: getData(data, reqvar, includeNaLabel = includeNaLabel, returnJKreplicates = (varMethod == "j" & (returnMeans | returnSepct)), dropUnusedLevels = dropUnusedLevels, drop = drop, omittedLevels = omittedLevels, recode = recode, addAttributes = TRUE)
  4: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  5: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 10. Error: updatePlausibleValue (@test-0-main.R#406)  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: lm.sdf(~dsex, sdf, varMethod = "Taylor") at testthat/test-0-main.R:406
  2: calc.lm.sdf(formula = formula, data = data, weightVar = weightVar, relevels = relevels, varMethod = varMethod, jrrIMax = jrrIMax, omittedLevels = omittedLevels, defaultConditions = defaultConditions, missingDefaultConditions = missing(defaultConditions), recode = recode, returnVarEstInputs = returnVarEstInputs, returnLm0 = FALSE, call = call)
  3: do.call(getData, getDataArgs)
  4: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", 
     "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", 
     "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", 
     "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", 
     "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", 
     "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", 
     "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "dsex", "origwt", "jkunit", "repgrp1"), returnJKreplicates = FALSE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  5: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  7: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 11. Error: percentile (@test-0-main.R#417)  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_known_value(pct1 <- percentile("composite", c(0, 1, 25, 50, 75, 99, 100), sdf), "pct1.rds", update = FALSE) at testthat/test-0-main.R:417
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: percentile("composite", c(0, 1, 25, 50, 75, 99, 100), sdf)
  5: do.call(getData, getDataArgs)
  6: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", 
     "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", 
     "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", 
     "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", 
     "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", 
     "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", 
     "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "origwt"), returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  7: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  8: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  9: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 12. Error: return VarEstInputs (@test-0-main.R#422)  ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: lm.sdf(~dsex + b017451, sdf, returnVarEstInputs = TRUE) at testthat/test-0-main.R:422
  2: calc.lm.sdf(formula = formula, data = data, weightVar = weightVar, relevels = relevels, varMethod = varMethod, jrrIMax = jrrIMax, omittedLevels = omittedLevels, defaultConditions = defaultConditions, missingDefaultConditions = missing(defaultConditions), recode = recode, returnVarEstInputs = returnVarEstInputs, returnLm0 = FALSE, call = call)
  3: do.call(getData, getDataArgs)
  4: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", 
     "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", 
     "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", 
     "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", 
     "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", 
     "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", 
     "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "dsex", "b017451", "origwt"), returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  5: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  6: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  7: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 13. Error: gap (@test-0-main.R#451)  ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_known_value(g1 <- gap("composite", sdf, dsex == "Male", dsex == "Female", returnSimpleDoF = TRUE), "gap_main_mean.rds", update = FALSE) at testthat/test-0-main.R:451
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: gap("composite", sdf, dsex == "Male", dsex == "Female", returnSimpleDoF = TRUE)
  5: eval(as.call(calli))
  6: eval(as.call(calli))
  7: gapHelper(variable = "composite", data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", 
     "m815501", "m815601", "m815801", "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", 
     "srwt42", "srwt43", "srwt44", "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", 
     "mrpcm4", "mrpcm5", "m075201", "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", 
     "m020001", "m046301", "m047001", "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", 
     "m142001", "m142101", "m142201", "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", 
     "m111001", "m111201", "m111301", "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), groupA = dsex == "Male", groupB = dsex == "Female", returnSimpleDoF = TRUE, varMethod = "j")
  8: do.call(lm.sdf, calllmA)
  9: (function (formula, data, weightVar = NULL, relevels = list(), varMethod = c("jackknife", "Taylor"), jrrIMax = 1, omittedLevels = TRUE, defaultConditions = TRUE, recode = NULL, returnVarEstInputs = FALSE) 
     {
         call <- match.call()
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         if (inherits(data, c("edsurvey.data.frame.list"))) {
             res <- itterateESDFL(match.call(), data)
             class(res) <- "edsurveyLmList"
             return(res)
         }
         else {
             return(calc.lm.sdf(formula = formula, data = data, weightVar = weightVar, relevels = relevels, varMethod = varMethod, jrrIMax = jrrIMax, omittedLevels = omittedLevels, defaultConditions = defaultConditions, missingDefaultConditions = missing(defaultConditions), recode = recode, returnVarEstInputs = returnVarEstInputs, returnLm0 = FALSE, call = call))
         }
     })(composite ~ 1, varMethod = "j", weightVar = NULL, jrrIMax = 1, omittedLevels = TRUE, recode = NULL, returnVarEstInputs = TRUE, data = structure(list(userConditions = list(dsex == "Male"), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", 
     "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", 
     "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", 
     "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", 
     "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", 
     "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", 
     "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", 
     "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 
     1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(
         origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", 
     "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", 
     "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", 
         gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", 
         "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", 
         "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", 
         "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", 
         "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", 
         "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", 
         "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 
         90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 
         774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 
         882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 
         152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 
         782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 
         888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
         9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
         2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 
         4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", 
         "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", 
         "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", 
         "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", 
         "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", 
         "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", 
         "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", 
         "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", 
         "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", 
         "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", 
         "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", 
         "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", "What fraction of the figure above is shaded", "What kind of triangle is shown above", 
         "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", 
         "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", 
         "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", 
         "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", 
         "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", 
         "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", "Percent receiving ESL instruction", "Percent in special education", 
         "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
         "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
         "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
         "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
         "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
         "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
         "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
         "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
         "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
         "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
         "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
         "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
         "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
         "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
         "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
         "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
         "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
         "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
         "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
         "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
         "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
         "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
         "", "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", 
         "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
         "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
         "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", 
         "composite", "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
         "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
         "character", "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
         "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
         "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
         "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
         "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
         "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
         "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, 
         FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
         FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
         FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
         FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
         FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), 
             Type = c("", ""), dataType = c("character", "character"), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"))
  10: calc.lm.sdf(formula = formula, data = data, weightVar = weightVar, relevels = relevels, varMethod = varMethod, jrrIMax = jrrIMax, omittedLevels = omittedLevels, defaultConditions = defaultConditions, missingDefaultConditions = missing(defaultConditions), recode = recode, returnVarEstInputs = returnVarEstInputs, returnLm0 = FALSE, call = call)
  11: do.call(getData, getDataArgs)
  12: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(dsex == "Male"), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", 
     "m815801", "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", 
     "srwt44", "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", 
     "m075201", "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", 
     "m047001", "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", 
     "m142201", "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", 
     "m111301", "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "origwt"), returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  13: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  14: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  15: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 14. Error: achievementLevel basic (@test-0-main.R#498)  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_known_value(test1 <- achievementLevels(returnCumulative = TRUE, data = sdf), file = "aLevels_test1.rds", update = FALSE) at testthat/test-0-main.R:498
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: achievementLevels(returnCumulative = TRUE, data = sdf)
  5: calAL(achievementVars, aggregateBy, data, cutpoints, returnDiscrete, returnCumulative, weightVar, jrrIMax, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs)
  6: do.call(getData, getDataArgs)
  7: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", 
     "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", 
     "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", 
     "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", 
     "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", 
     "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", 
     "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "origwt"), returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  8: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  9: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  10: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 15. Error: achievementLevel, aggregated (@test-0-main.R#503)  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_known_value(test2 <- achievementLevels(aggregateBy = "dsex", returnCumulative = TRUE, data = sdf), file = "aLevels_test2.rds") at testthat/test-0-main.R:503
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: achievementLevels(aggregateBy = "dsex", returnCumulative = TRUE, data = sdf)
  5: calAL(achievementVars, aggregateBy, data, cutpoints, returnDiscrete, returnCumulative, weightVar, jrrIMax, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs)
  6: do.call(getData, getDataArgs)
  7: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", 
     "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", 
     "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", 
     "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", 
     "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", 
     "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", 
     "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "dsex", "origwt"), returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  8: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  9: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  10: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 16. Error: achievementLevel with result of zero (@test-0-main.R#527)  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_known_value(test9 <- achievementLevels(data = subset(sdfC, pared == 1)), file = "aLevels_test9.rds", update = FALSE) at testthat/test-0-main.R:527
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: achievementLevels(data = subset(sdfC, pared == 1))
  5: calAL(achievementVars, aggregateBy, data, cutpoints, returnDiscrete, returnCumulative, weightVar, jrrIMax, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs)
  6: do.call(getData, getDataArgs)
  7: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(scrpsu %in% 100:200, pared == 1), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", 
     "m815501", "m815601", "m815801", "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", 
     "srwt42", "srwt43", "srwt44", "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", 
     "mrpcm4", "mrpcm5", "m075201", "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", 
     "m020001", "m046301", "m047001", "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", 
     "m142001", "m142101", "m142201", "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", 
     "m111001", "m111201", "m111301", "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("composite", "origwt"), returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, includeNaLabel = TRUE, dropUnusedLevels = TRUE)
  8: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  9: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  10: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 17. Error: sdf correlation (@test-0-main.R#533)  ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_is(expect_c1_pear <- cor.sdf("b017451", "b003501", sdf, method = "Pearson", weightVar = "origwt"), "edsurveyCor") at testthat/test-0-main.R:533
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: cor.sdf("b017451", "b003501", sdf, method = "Pearson", weightVar = "origwt")
  5: do.call(getData, getDataArgs)
  6: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", "m815601", "m815801", 
     "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", "srwt43", "srwt44", 
     "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5", "m075201", 
     "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", "m046301", "m047001", 
     "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", "m142101", "m142201", 
     "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", "m111201", "m111301", 
     "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE)), row.names = c(NA, 300L), class = "data.frame"), fileFormatSchool = structure(list(variableName = c("SSCRPSU", "C052601"), Start = c(1, 5), End = c(4, 5), Width = c(4, 1), Decimal = c(0, 0), Labels = c("Scrambled PSU and school code", "Percent enrolled in math for remediation"), labelValues = c("", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple"), pvWt = c("", ""), Type = c("", ""), dataType = c("character", "character"
     ), weights = c(FALSE, FALSE)), row.names = 1:2, class = "data.frame"), fileFormatTeacher = NULL, survey = "NAEP", country = "USA", psuVar = "jkunit", stratumVar = "repgrp1", jkSumMultiplier = 1, recodes = NULL, dim0 = c(17606L, 302L)), class = "edsurvey.data.frame"), varnames = c("b017451", "b003501", "origwt"), includeNaLabel = TRUE, addAttributes = TRUE, returnJKreplicates = TRUE, drop = FALSE, omittedLevels = TRUE, recode = NULL, dropUnusedLevels = TRUE)
  7: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  8: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  9: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 18. Error: (unknown) (@test-1-lesdf.R#11)  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: getData(sdf, c(all.vars(composite ~ dsex + b017451), "origwt"), addAttributes = TRUE) at testthat/test-1-lesdf.R:11
  2: `[<-`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  3: `[<-.data.frame`(`*tmp*`, data[, vari] == "" | is.na(data[, vari]), vari, value = NA)
  4: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), N, n), domain = NA)
  
  ── 19. Error: ESDFL achievementLevels (@test-2-esdfl.R#25)  ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: expect_known_value(test8 <- achievementLevels(data = sdfl), file = "aLevels_test8.rds", update = FALSE) at testthat/test-2-esdfl.R:25
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: achievementLevels(data = sdfl)
  5: tryCatch(alResult <- calAL(achievementVars, aggregateBy, sdf, cutpoints, returnDiscrete, returnCumulative, weightVar, jrrIMax, omittedLevels, defaultConditions, recode, defaultConditionsMissing = missing(defaultConditions), returnVarEstInputs = returnVarEstInputs), error = function(cond) {
         message(paste("An error occurred while working on data set", labels[i], " excluding results from this data set."))
         message(cond)
         return(NULL)
     })
  6: tryCatchList(expr, classes, parentenv, handlers)
  7: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  8: value[[3L]](cond)
  9: message(cond)
  10: withRestarts({
         signalCondition(cond)
         defaultHandler(cond)
     }, muffleMessage = function() NULL)
  11: withOneRestart(expr, restarts[[1L]])
  12: doWithOneRestart(return(expr), restart)
  
  ── 20. Error: ESDFL cor (@test-2-esdfl.R#30)  ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  replacement has 1 row, data has 0
  1: cor.sdf("b017451", "b003501", sdfA, method = "Pearson", weightVar = "origwt") at testthat/test-2-esdfl.R:30
  2: do.call(getData, getDataArgs)
  3: (function (data, varnames = NULL, drop = FALSE, dropUnusedLevels = TRUE, omittedLevels = TRUE, defaultConditions = TRUE, formula = NULL, recode = NULL, includeNaLabel = FALSE, addAttributes = FALSE, returnJKreplicates = TRUE) 
     {
         checkDataClass(data, c("edsurvey.data.frame", "light.edsurvey.data.frame", "edsurvey.data.frame.list"))
         sdf <- data
         data <- NULL
         if (!inherits(varnames, c("NULL", "character"))) 
             stop("the ", sQuote("varnames"), " argument must be either NULL or a character vector.")
         if (!inherits(formula, c("NULL", "formula"))) 
             stop("the ", sQuote("formula"), " argument must be either NULL or a formula.")
         if (!is.logical(drop)) 
             stop("the ", sQuote("drop"), " argument must be logical.")
         if (!is.logical(dropUnusedLevels)) 
             stop("the ", sQuote("dropUnusedLevels"), " argument must be logical.")
         if (!is.logical(omittedLevels) & !is.vector(omittedLevels)) 
             stop("the ", sQuote("omittedLevels"), " argument must be logical or a character vector.")
         if (!is.logical(defaultConditions)) 
             stop("the ", sQuote("defaultConditions"), " argument must be logical.")
         if (!is.null(recode) & !is.list(recode)) 
             stop(paste0("the ", sQuote("recode"), " argument must be a list."))
         if (is.null(varnames) & is.null(formula)) 
             stop(paste0("At least one of ", sQuote("varnames"), " and ", sQuote("formula"), "must be not NULL."))
         if (inherits(sdf, c("edsurvey.data.frame.list"))) {
             return(itterateESDFL(match.call(), sdf))
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             if (!missing(defaultConditions)) {
                 warning(paste0("The argument ", sQuote("defaultConditions"), " is defined but will be ignored because the incoming data set is already a ", sQuote("light.edsurvey.data.frame"), "."))
             }
         }
         sdf <- openLaFConnections(sdf)
         formulaVars <- all.vars(formula)
         varnames = c(varnames, formulaVars)
         dConditions <- NULL
         varNamesDefaults <- c()
         if (defaultConditions & !is.null(sdf$defaultConditions)) {
             if (inherits(sdf, "edsurvey.data.frame")) {
                 dConditions <- sdf$defaultConditions[[1]]
             }
             else {
                 dConditions <- attr(sdf, "defaultConditions")[[1]]
             }
             varNamesDefaults <- all.vars(dConditions)
         }
         varRecodes <- c()
         if (!is.null(recode)) {
             varRecodes = names(recode)
             badRecodes <- recode[!varRecodes %in% colnames(sdf)]
             if (length(badRecodes) > 0) {
                 warning(paste0("Recode variables ", paste(sQuote(badRecodes), collapse = ", "), " not found in data set."))
             }
             sdf <- recode.sdf(sdf, recode)
             recode <- NULL
         }
         schoolMergeVarStudent <- NULL
         schoolMergeVarSchool <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$school)) {
             schoolMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarStudent <- sapply(schoolMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarStudent)) {
                 if (sum(!schoolMergeVarStudent %in% names(sdf$data)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarStudent), collapse = ", "), " not found in data set."))
                 }
             }
             schoolMergeVarSchool <- tolower(unlist(strsplit(sdf$dataListMeta$student$school, ";", fixed = TRUE)))
             schoolMergeVarSchool <- sapply(schoolMergeVarSchool, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(schoolMergeVarSchool)) {
                 if (sum(!schoolMergeVarSchool %in% names(sdf$dataSch)) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(schoolMergeVarSchool), collapse = ", "), " not found in data set."))
                 }
             }
         }
         teacherMergeVarStudent <- NULL
         teacherMergeVarTeacher <- NULL
         if (inherits(sdf, "edsurvey.data.frame") && !is.null(sdf$dataListMeta$student$teacher)) {
             teacherMergeVarStudent <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarStudent <- sapply(teacherMergeVarStudent, function(x) {
                 head(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarStudent)) {
                 if (sum(!teacherMergeVarStudent %in% tolower(names(sdf$data))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarStudent), collapse = ", "), " not found in data"))
                 }
             }
             teacherMergeVarTeacher <- tolower(unlist(strsplit(sdf$dataListMeta$student$teacher, ";", fixed = TRUE)))
             teacherMergeVarTeacher <- sapply(teacherMergeVarTeacher, function(x) {
                 tail(tolower(unlist(strsplit(x, "^", fixed = TRUE))), n = 1)
             }, simplify = TRUE)
             if (!is.null(teacherMergeVarTeacher)) {
                 if (sum(!teacherMergeVarTeacher %in% tolower(names(sdf$dataTch))) > 0) {
                     sdf <- closeLaFConnections(sdf)
                     stop(paste0("Merge variable(s) ", paste(sQuote(teacherMergeVarTeacher), collapse = ", "), " not found in data"))
                 }
             }
         }
         userConditions <- getAttributes(sdf, "userConditions")
         varNamesConditions <- c()
         if (length(userConditions) > 0) {
             for (i in c(1:length(userConditions))) {
                 if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                     varNamesConditions <- c(varNamesConditions, unique(names(userConditions[[i]])))
                 }
                 else {
                     condition <- userConditions[[i]]
                     varNamesConditions <- c(varNamesConditions, all.vars(condition))
                 }
             }
         }
         if (!inherits(sdf, "edsurvey.data.frame")) {
             varNamesConditions <- c()
         }
         varNamesDefaults2 <- varNamesDefaults
         varNamesDefaults <- varNamesDefaults[which(varNamesDefaults %in% colnames(sdf))]
         varnamesAllConditions <- c(varNamesConditions, varNamesDefaults)
         vars <- c()
         v <- c()
         hpv <- hasPlausibleValue(varnames, sdf)
         iw <- isWeight(varnames, sdf)
         vars <- c(vars, varnames[!(iw | hpv)])
         vars_exclude_omitted <- c()
         if (sum(hpv) > 0) {
             pvs <- getPlausibleValue(varnames[hpv], sdf)
             vars_exclude_omitted <- c(vars_exclude_omitted, pvs[-1])
             vars <- c(vars, pvs)
         }
         if (sum(iw) > 0 & returnJKreplicates == TRUE) {
             invisible(sapply(varnames[iw], function(x) {
                 v <- getWeightJkReplicates(x, sdf)
                 vars_exclude_omitted <<- c(vars_exclude_omitted, v[-1])
                 vars <<- c(vars, v, x)
             }))
         }
         if (sum(iw) > 0 & returnJKreplicates == FALSE) {
             vars <- c(vars, varnames[iw])
         }
         varnames <- unique(vars)
         vars <- c()
         v <- c()
         if (inherits(sdf, "edsurvey.data.frame")) {
             for (i in (1:length(varnamesAllConditions))) {
                 if (length(varnamesAllConditions) == 0) {
                     break
                 }
                 if (hasPlausibleValue(varnamesAllConditions[i], sdf)) {
                     v <- getPlausibleValue(varnamesAllConditions[i], sdf)
                     vars <- c(vars, v)
                 }
                 else {
                     if (isWeight(varnamesAllConditions[i], sdf)) {
                       v <- getWeightJkReplicates(varnamesAllConditions[i], sdf)
                       vars <- c(vars, varnamesAllConditions[i], v)
                     }
                     else {
                       vars <- c(vars, varnamesAllConditions[i])
                     }
                 }
             }
             varnamesAllConditions <- vars
             varnamesTotal <- c(varnamesAllConditions, varnames, varRecodes)
         }
         else {
             varnamesTotal <- c(varnames)
         }
         varnamesTotal <- unique(varnamesTotal)
         vars_exclude_omitted <- c(vars_exclude_omitted, varnamesAllConditions[!varnamesAllConditions %in% varnames])
         if (inherits(sdf, "edsurvey.data.frame")) {
             dataLaf <- sdf$data
             dataSchLaf <- sdf$dataSch
             dataTchLaf <- sdf$dataTch
             filename <- sdf$fileDescription[["filename"]]
             ndsl1 <- tolower(names(dataSchLaf))
             hasSchoolVars <- ndsl1[!(ndsl1 %in% c(schoolMergeVarSchool, tolower(names(dataLaf))))]
             hasSchoolVars <- hasSchoolVars %in% varnamesTotal[!(varnamesTotal %in% schoolMergeVarSchool)]
             hasSchoolVars <- any(hasSchoolVars)
             if (!hasSchoolVars) {
                 schoolMergeVarSchool <- NULL
                 schoolMergeVarStudent <- NULL
             }
             indexSchVars <- ndsl1 %in% c(varnamesTotal, schoolMergeVarSchool)
             ndsl2 <- tolower(names(dataTchLaf))
             hasTeacherVars <- ndsl2[!(ndsl2 %in% c(teacherMergeVarTeacher, tolower(names(dataLaf))))]
             hasTeacherVars <- hasTeacherVars %in% varnamesTotal[!(varnamesTotal %in% teacherMergeVarTeacher)]
             hasTeacherVars <- any(hasTeacherVars)
             if (!hasTeacherVars) {
                 teacherMergeVarTeacher <- NULL
                 teacherMergeVarStudent <- NULL
             }
             indexTchVars <- ndsl2 %in% c(varnamesTotal, teacherMergeVarTeacher)
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             indexVars <- (1:length(names(dataLaf)))[names(dataLaf) %in% c(varnamesTotal, schoolMergeVarStudent, teacherMergeVarStudent)]
             data <- dataLaf[, indexVars, drop = FALSE]
             names(data) <- tolower(names(data))
             if (!is.null(dataSchLaf) && hasSchoolVars == TRUE) {
                 if (any(indexSchVars) && hasSchoolVars == TRUE) {
                     indexSchVars <- (1:length(ndsl1))[indexSchVars]
                     datas <- dataSchLaf[, indexSchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = schoolMergeVarStudent, by.y = schoolMergeVarSchool, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]) > 0 && any(schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- schoolMergeVarSchool[!(schoolMergeVarSchool %in% schoolMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% schoolMergeVarSchool
                       varsToAddIndx <- (1:length(schoolMergeVarSchool))[varsToAddIndx]
                       appendData <- data.frame(data[, schoolMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- schoolMergeVarSchool[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             if (!is.null(dataTchLaf) && hasTeacherVars == TRUE) {
                 if (any(indexTchVars) && hasTeacherVars == TRUE) {
                     indexTchVars <- (1:length(ndsl2))[indexTchVars]
                     datas <- dataTchLaf[, indexTchVars, drop = FALSE]
                     names(datas) <- tolower(names(datas))
                     data$oorder__zz11qq <- 1:nrow(data)
                     data <- merge(data, datas, by.x = teacherMergeVarStudent, by.y = teacherMergeVarTeacher, all.x = TRUE, all.y = FALSE, suffixes = c("", ".dupe"))
                     data <- data[, names(data)[!grepl("\\.dupe$", names(data))]]
                     if (length(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]) > 0 && any(teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)] %in% varnamesTotal)) {
                       varsToAdd <- teacherMergeVarTeacher[!(teacherMergeVarTeacher %in% teacherMergeVarStudent)]
                       varsToAddIndx <- varsToAdd %in% teacherMergeVarTeacher
                       varsToAddIndx <- (1:length(teacherMergeVarTeacher))[varsToAddIndx]
                       appendData <- data.frame(data[, teacherMergeVarStudent[varsToAddIndx]])
                       names(appendData) <- teacherMergeVarTeacher[varsToAddIndx]
                       varnamesTotal <- c(varnamesTotal, names(appendData))
                       data <- cbind(data, appendData)
                     }
                     data <- data[order(data$oorder__zz11qq), ]
                     data$oorder__zz11qq <- NULL
                 }
             }
             mergeVarsToRemove <- c(schoolMergeVarSchool, schoolMergeVarStudent, teacherMergeVarStudent, teacherMergeVarTeacher)
             mergeVarsToRemove <- mergeVarsToRemove[!mergeVarsToRemove %in% varnamesTotal]
             data <- data[, !(names(data) %in% mergeVarsToRemove), drop = FALSE]
             varnamesTotal <- tolower(names(data))
             errorVars <- varnames[!(varnames %in% varnamesTotal)]
             if (sum(nchar(errorVars)) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call but not found in the data: ", paste(sQuote(errorVars), collapse = ", "), "."))
             }
             labelsFile1 <- sdf$fileFormat
             if (hasSchoolVars) {
                 labelsFile2 <- sdf$fileFormatSchool[!(sdf$fileFormatSchool$variableName %in% labelsFile1$variableName), ]
             }
             else {
                 labelsFile2 <- NULL
             }
             if (hasTeacherVars) {
                 labelsFile3 <- sdf$fileFormatTeacher[!(sdf$fileFormatTeacher$variableName %in% c(labelsFile1$variableName, labelsFile2$variableName)), ]
             }
             else {
                 labelsFile3 <- NULL
             }
             labelsFile <- rbind(labelsFile1, labelsFile2, labelsFile3)
             labelsFile <- labelsFile[order(labelsFile$Start), ]
             decimals <- as.numeric(labelsFile$Decimal)
             variables <- tolower(labelsFile$variableName)
             labels = list()
             for (i in c(1:dim(labelsFile)[1])) {
                 keysTemp = c()
                 keys = c()
                 values = c()
                 variable <- variables[i]
                 keysTemp = c(keysTemp, strsplit(labelsFile$labelValues[i], "^", fixed = TRUE)[[1]])
                 if (length(keysTemp != 0)) {
                     for (j in c(1:length(keysTemp))) {
                       keys = c(keys, strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][1])
                       temp <- strsplit(keysTemp[j], "=", fixed = TRUE)[[1]][2]
                       if (temp == "" | is.na(temp)) {
                         temp <- "label unknown"
                       }
                       values = c(values, temp)
                     }
                     labels[[variable]] <- list(keys = keys, values = values)
                 }
             }
             if (!sdf$survey %in% c("PISA", "TALIS", "PIAAC")) {
                 for (i in c(1:length(colnames(sdf)))) {
                     varn <- variables[i]
                     decLen <- decimals[i]
                     decLen[is.na(decLen)] <- 0
                     if (decLen != 0 & varn %in% varnamesTotal) {
                       data[, varn] <- data[, varn]/(10^decLen)
                     }
                 }
             }
             if (sdf$survey %in% c("TIMSS", "PIRLS", "TIMSS Advanced", "CivED") && hasTeacherVars && any(tolower(varnamesTotal) %in% c("totwgt"))) {
                 warning("Teacher Data has been Merged.  The student level 'totwgt' weight variable may not produce correct results in analysis.  See documentation.")
             }
             labelsn <- names(labels)
             for (i in 1:length(labels)) {
                 vari <- labelsn[i]
                 if (vari %in% names(data)) {
                     if (length(unique(labels[[i]]$keys)) != length(labels[[i]]$keys)) {
                       warning(paste0("Duplicate variable label key i=", i, " in variable ", vari, "."))
                     }
                     if ((sdf$survey != "PIAAC" && all(labels[[i]]$values %in% sdf$omittedLevels))) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else if (!is.null(labelsFile$labelled) && !labelsFile$labelled[labelsFile$variableName == toupper(vari)]) {
                       data[data[, vari] %in% labels[[i]]$keys, vari] <- NA
                     }
                     else {
                       if (length(unique(labels[[i]]$values)) != length(labels[[i]]$values)) {
                         tab <- table(labels[[i]]$values)
                         dnames <- names(tab[tab > 1])
                         needNewLabels <- labels[[i]]$values %in% dnames
                         if (vari %in% varnames) {
                           warning(paste0("Updating labels on ", sQuote(vari), " because there are multiples of the label ", sQuote(dnames), "."))
                         }
                         labels[[i]]$values[needNewLabels] <- paste(labels[[i]]$values[needNewLabels], 1:(sum(needNewLabels)), sep = ":")
                       }
                       lvls <- labels[[i]]$keys
                       lbls <- labels[[i]]$values
                       if (includeNaLabel) {
                         if (sum(is.na(data[, vari])) > 0) {
                           lvls <- c(NA, lvls)
                           lbls <- c("(Missing)", lbls)
                         }
                       }
                       if (getAttributes(sdf, "survey") == "PISA" && grepl("id", vari, ignore.case = T)) {
                         exception = unique(data[, vari][!data[, vari] %in% lvls])
                         lvls <- c(lvls, exception)
                         lbls <- c(lbls, exception)
                       }
                       data[data[, vari] == "" | is.na(data[, vari]), vari] <- NA
                       suppressWarnings(lvlsp <- as.numeric(lvls))
                       suppressWarnings(dvi <- as.numeric(data[, vari]))
                       suppressWarnings(lblsp <- as.numeric(lbls))
                       if (sum(is.na(lvlsp)) - sum(is.na(lvls)) > 0 || sum(is.na(unique(dvi))) - sum(is.na(unique(data[, vari]))) > 0 || sum(!is.na(lblsp)) > 0) {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- factor(data[, vari], levels = lvls, labels = lbls)
                         }
                       }
                       else {
                         if (anyNA(data[, vari]) && includeNaLabel) {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls, exclude = NULL)
                         }
                         else {
                           data[, vari] <- lfactor(dvi, levels = lvlsp, labels = lbls)
                         }
                       }
                     }
                 }
                 else {
                 }
             }
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(sdf$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (tolower(data[, vari]) %in% tolower(lev))
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             for (var in names(data)) {
                 data[, var] <- convToNum(data[, var])
             }
             if (any(!varNamesDefaults2 %in% names(data))) {
                 ind <- varNamesDefaults2[which(!varNamesDefaults2 %in% names(data))]
                 warning(paste0(sQuote(ind), " from default conditions not found in data. Setting ", sQuote("defaultConditionts"), " to ", dQuote("FALSE"), "."))
                 defaultConditions <- FALSE
             }
             if (defaultConditions) {
                 if (length(dConditions) > 0) {
                     r <- eval(dConditions, data)
                     data <- data[r, , drop = FALSE]
                 }
             }
             if (length(userConditions) > 0) {
                 for (i in c(1:length(userConditions))) {
                     if (!is.null(names(userConditions)[i]) && names(userConditions)[i] %in% "recode") {
                       recode <- userConditions[[i]]
                       if (!is.null(recode)) {
                         for (i in 1:length(recode)) {
                           ni <- names(recode)[i]
                           from <- recode[[i]]$from
                           to <- recode[[i]]$to
                           if (length(to) > 1) {
                             stop(paste0("More than one 'To' value found in the ", sQuote(ni), " element of the 'recode' argument."))
                           }
                           badFrom <- c()
                           if (inherits(data[, ni], "factor")) {
                             newto <- to
                             if (to %in% from) {
                               from <- from[!from %in% to]
                             }
                             labs <- levels(data[, ni])
                             if (newto %in% labs) {
                               newto <- NULL
                             }
                             tmp <- as.character(data[, ni])
                             if (inherits(data[, ni], "lfactor")) {
                               levs <- llevels(data[, ni])
                               if (is.numeric(to)) {
                                 if (!to %in% levs) {
                                   labs <- c(labs, as.character(to))
                                   levs <- c(levs, to)
                                 }
                                 toNum <- to
                                 to <- labs[levs == to]
                               }
                               else {
                                 if (!to %in% labs) {
                                   labs <- c(labs, to)
                                   toNum <- max(levs, na.rm = TRUE) + 1
                                   levs <- c(levs, toNum)
                                 }
                                 else {
                                   toNum <- levs[which(to %in% labs)]
                                 }
                               }
                               suppressWarnings(fromNum <- as.numeric(from))
                               fromChar <- from[is.na(fromNum)]
                               fromNum <- fromNum[!is.na(fromNum)]
                               if (length(fromNum) > 0) {
                                 tmp_numeric <- lfactors:::switchllevels(data[, ni])
                                 tmp[tmp_numeric %in% fromNum] <- to
                                 if (any(!fromNum %in% levs)) {
                                   badFrom <- fromNum[!fromNum %in% levs]
                                 }
                                 labs <- labs[!levs %in% setdiff(fromNum, toNum)]
                                 levs <- levs[!levs %in% setdiff(fromNum, toNum)]
                               }
                               if (length(fromChar) > 0) {
                                 tmp[tmp %in% fromChar] <- to
                                 if (any(!fromChar %in% labs)) {
                                   badFrom <- c(badFrom, fromChar[!fromChar %in% labs])
                                 }
                                 levs <- levs[!labs %in% setdiff(fromChar, to)]
                                 labs <- labs[!labs %in% setdiff(fromChar, to)]
                               }
                               data[, ni] <- lfactor(tmp, levels = levs, labels = labs, exclude = NULL)
                             }
                             else {
                               tmp[tmp %in% from] <- to
                               if (any(!from %in% labs)) {
                                 badFrom <- c(badFrom, from[!from %in% labs])
                               }
                               if (!to %in% labs) {
                                 labs <- c(labs, to)
                               }
                               data[, ni] <- factor(tmp, levels = labs)
                             }
                           }
                           else {
                             if (any(!from %in% data[, ni])) {
                               badFrom <- from[!from %in% data[, ni]]
                             }
                             data[, ni][data[, ni] %in% from] <- to
                           }
                           if (length(badFrom) > 0) {
                             warning(paste0("When recoding, could not find the level(s) ", paste(dQuote(badFrom), collapse = ", "), " in the variable ", dQuote(ni), "."))
                           }
                         }
                       }
                     }
                     else {
                       condition <- userConditions[[i]]
                       r <- eval(condition, data)
                       r <- ifelse(is.na(r), FALSE, r)
                       data <- data[which(r), , drop = FALSE]
                     }
                 }
             }
             if (dropUnusedLevels) {
                 for (i in 1:length(varnamesTotal)) {
                     if (is.factor(data[, varnamesTotal[i]])) {
                       data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                     }
                 }
             }
         }
         else {
             missingVars <- varnames[!varnames %in% vars_exclude_omitted & !varnames %in% colnames(sdf)]
             if (length(missingVars) > 0) {
                 sdf <- closeLaFConnections(sdf)
                 stop(paste0("The following variable names are required for this call and are not on the incoming data ", paste(sQuote(missingVars), collapse = ", "), "."))
             }
             varnamesTotal <- varnames
             data <- sdf
             flag <- FALSE
             if (omittedLevels == TRUE) {
                 lev <- unlist(attributes(sdf)$omittedLevels)
                 flag <- TRUE
             }
             if (!is.logical(omittedLevels)) {
                 lev <- omittedLevels
                 flag <- TRUE
             }
             if (flag) {
                 keep <- rep(0, nrow(data))
                 for (i in 1:length(varnamesTotal)) {
                     vari <- varnamesTotal[i]
                     if (!vari %in% vars_exclude_omitted) {
                       keep <- keep + (data[, vari] %in% lev)
                     }
                 }
                 if (sum(keep > 0) > 0) {
                     data <- data[keep == 0, , drop = FALSE]
                 }
             }
             if (!missing(dropUnusedLevels)) {
                 if (dropUnusedLevels) {
                     for (i in 1:length(varnamesTotal)) {
                       if (is.factor(data[, varnamesTotal[i]])) {
                         data[, varnamesTotal[i]] <- droplevels(data[, varnamesTotal[i]])
                       }
                     }
                 }
             }
             data <- data[, varnames, drop = FALSE]
         }
         sdf <- closeLaFConnections(sdf)
         if (addAttributes) {
             if (nrow(data) == 0) {
                 warning("The requested data set has 0 rows.")
             }
             data <- data[, varnames, drop = drop]
             class(sdf) <- "list"
             sdfnames <- names(sdf)
             sdfnames <- sdfnames[sdfnames != "data"]
             lapply(sdfnames, function(x) {
                 dat <- get("data")
                 attr(dat, x) <- sdf[[x]]
                 data <<- dat
             })
             class(data) <- c("light.edsurvey.data.frame", class(data))
             data <- setAttributes(data, "userConditions", userConditions[which(!names(userConditions) %in% "recode")])
             return(data)
         }
         if (nrow(data) == 0) {
             warning("The requested data has 0 rows.")
         }
         data <- data[, varnames, drop = drop]
         return(data)
     })(data = structure(list(userConditions = list(scrpsu %in% c(5, 45, 56)), defaultConditions = list(tolower(rptsamp) == "reporting sample"), data = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NT2PM.dat", file_type = "fwf", column_names = c("year", "cohort", "scrpsu", "dsex", "iep", "lep", "ell3", "sdracem", "pared", "b003501", "b003601", "b013801", "b017001", "b017101", "b018101", "b018201", "b017451", "m815401", "m815501", 
     "m815601", "m815801", "m815701", "rptsamp", "repgrp1", "repgrp2", "jkunit", "origwt", "srwt01", "srwt02", "srwt03", "srwt04", "srwt05", "srwt06", "srwt07", "srwt08", "srwt09", "srwt10", "srwt11", "srwt12", "srwt13", "srwt14", "srwt15", "srwt16", "srwt17", "srwt18", "srwt19", "srwt20", "srwt21", "srwt22", "srwt23", "srwt24", "srwt25", "srwt26", "srwt27", "srwt28", "srwt29", "srwt30", "srwt31", "srwt32", "srwt33", "srwt34", "srwt35", "srwt36", "srwt37", "srwt38", "srwt39", "srwt40", "srwt41", "srwt42", 
     "srwt43", "srwt44", "srwt45", "srwt46", "srwt47", "srwt48", "srwt49", "srwt50", "srwt51", "srwt52", "srwt53", "srwt54", "srwt55", "srwt56", "srwt57", "srwt58", "srwt59", "srwt60", "srwt61", "srwt62", "smsrswt", "mrps11", "mrps12", "mrps13", "mrps14", "mrps15", "mrps21", "mrps22", "mrps23", "mrps24", "mrps25", "mrps31", "mrps32", "mrps33", "mrps34", "mrps35", "mrps41", "mrps42", "mrps43", "mrps44", "mrps45", "mrps51", "mrps52", "mrps53", "mrps54", "mrps55", "mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", 
     "mrpcm5", "m075201", "m075401", "m075601", "m019901", "m066201", "m047301", "m046201", "m066401", "m020101", "m067401", "m086101", "m047701", "m067301", "m048001", "m093701", "m086001", "m051901", "m076001", "m046001", "m046101", "m067701", "m046701", "m046901", "m047201", "m046601", "m046801", "m067801", "m066601", "m067201", "m068003", "m068005", "m068008", "m068007", "m068006", "m093601", "m053001", "m047801", "m086301", "m085701", "m085901", "m085601", "m085501", "m085801", "m019701", "m020001", 
     "m046301", "m047001", "m046501", "m066501", "m047101", "m066301", "m067901", "m019601", "m051501", "m047901", "m053101", "m143601", "m143701", "m143801", "m143901", "m144001", "m144101", "m144201", "m144301", "m144401", "m144501", "m144601", "m144701", "m144801", "m144901", "m145001", "m145101", "m013431", "m0757cl", "m013131", "m091701", "m072801", "m091501", "m091601", "m073501", "m052401", "m075301", "m072901", "m013631", "m075801", "m013731", "m013531", "m051801", "m093401", "m093801", "m142001", 
     "m142101", "m142201", "m142301", "m142401", "m142501", "m142601", "m142701", "m142801", "m142901", "m143001", "m143101", "m143201", "m143301", "m143401", "m143501", "m105601", "m105801", "m105901", "m106001", "m106101", "m106201", "m106301", "m106401", "m106501", "m106601", "m106701", "m106801", "m106901", "m107001", "m107101", "m107201", "m107401", "m107501", "m107601", "m109801", "m110001", "m110101", "m110201", "m110301", "m110401", "m110501", "m110601", "m110701", "m110801", "m110901", "m111001", 
     "m111201", "m111301", "m111401", "m111501", "m111601", "m111801", "yrsexp", "yrsmath", "t089401", "t088001", "t090801", "t090802", "t090803", "t090804", "t090805", "t090806", "t087501", "t088301", "t088401", "t088501", "t088602", "t088603", "t088801", "t088803", "t088804", "t088805", "t091502", "t091503", "t091504", "c052801", "c052802", "c052804", "c052805", "c052806", "c052807", "c052808", "c052701", "c046501", "c044006", "c044007", "c052901", "c053001", "c053101"), column_types = c(3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), column_widths = c(2L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 3L, 1L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 
     9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
     1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataSch = new("laf", file_id = -1L, filename = "/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/NAEPprimer/extdata/data/M36NC2PM.dat", 
         file_type = "fwf", column_names = c("sscrpsu", "c052601"), column_types = c(3L, 3L), column_widths = c(4L, 1L), levels = list(), options = list(dec = ".", trim = TRUE)), dataTch = NULL, dataListMeta = list(student = list(school = "scrpsu^sscrpsu"), school = list()), weights = structure(list(origwt = list(jkbase = "srwt", jksuffixes = c("01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62"))), default = "origwt"), pvvars = structure(list(num_oper = list(varnames = c("mrps11", "mrps12", "mrps13", "mrps14", "mrps15"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), measurement = list(varnames = c("mrps21", "mrps22", "mrps23", "mrps24", "mrps25"), achievementLevel = c(Basic = "262", 
     Proficient = "299", Advanced = "333")), geometry = list(varnames = c("mrps31", "mrps32", "mrps33", "mrps34", "mrps35"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), data_anal_prob = list(varnames = c("mrps41", "mrps42", "mrps43", "mrps44", "mrps45"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333")), algebra = list(varnames = c("mrps51", "mrps52", "mrps53", "mrps54", "mrps55"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"
     )), composite = list(varnames = c("mrpcm1", "mrpcm2", "mrpcm3", "mrpcm4", "mrpcm5"), achievementLevel = c(Basic = "262", Proficient = "299", Advanced = "333"))), default = "composite"), subject = "Mathematics", year = 2005, assessmentCode = "National", dataType = "Student Data", gradeLevel = "Grade 8", achievementLevels = c(Basic = "262", Proficient = "299", Advanced = "333"), omittedLevels = list(c("Multiple", NA, "Omitted")), fileFormat = structure(list(variableName = c("YEAR", "COHORT", "SCRPSU", 
     "DSEX", "IEP", "LEP", "ELL3", "SDRACEM", "PARED", "B003501", "B003601", "B013801", "B017001", "B017101", "B018101", "B018201", "B017451", "M815401", "M815501", "M815601", "M815801", "M815701", "RPTSAMP", "REPGRP1", "REPGRP2", "JKUNIT", "ORIGWT", "SRWT01", "SRWT02", "SRWT03", "SRWT04", "SRWT05", "SRWT06", "SRWT07", "SRWT08", "SRWT09", "SRWT10", "SRWT11", "SRWT12", "SRWT13", "SRWT14", "SRWT15", "SRWT16", "SRWT17", "SRWT18", "SRWT19", "SRWT20", "SRWT21", "SRWT22", "SRWT23", "SRWT24", "SRWT25", "SRWT26", 
     "SRWT27", "SRWT28", "SRWT29", "SRWT30", "SRWT31", "SRWT32", "SRWT33", "SRWT34", "SRWT35", "SRWT36", "SRWT37", "SRWT38", "SRWT39", "SRWT40", "SRWT41", "SRWT42", "SRWT43", "SRWT44", "SRWT45", "SRWT46", "SRWT47", "SRWT48", "SRWT49", "SRWT50", "SRWT51", "SRWT52", "SRWT53", "SRWT54", "SRWT55", "SRWT56", "SRWT57", "SRWT58", "SRWT59", "SRWT60", "SRWT61", "SRWT62", "SMSRSWT", "MRPS11", "MRPS12", "MRPS13", "MRPS14", "MRPS15", "MRPS21", "MRPS22", "MRPS23", "MRPS24", "MRPS25", "MRPS31", "MRPS32", "MRPS33", 
     "MRPS34", "MRPS35", "MRPS41", "MRPS42", "MRPS43", "MRPS44", "MRPS45", "MRPS51", "MRPS52", "MRPS53", "MRPS54", "MRPS55", "MRPCM1", "MRPCM2", "MRPCM3", "MRPCM4", "MRPCM5", "M075201", "M075401", "M075601", "M019901", "M066201", "M047301", "M046201", "M066401", "M020101", "M067401", "M086101", "M047701", "M067301", "M048001", "M093701", "M086001", "M051901", "M076001", "M046001", "M046101", "M067701", "M046701", "M046901", "M047201", "M046601", "M046801", "M067801", "M066601", "M067201", "M068003", "M068005", 
     "M068008", "M068007", "M068006", "M093601", "M053001", "M047801", "M086301", "M085701", "M085901", "M085601", "M085501", "M085801", "M019701", "M020001", "M046301", "M047001", "M046501", "M066501", "M047101", "M066301", "M067901", "M019601", "M051501", "M047901", "M053101", "M143601", "M143701", "M143801", "M143901", "M144001", "M144101", "M144201", "M144301", "M144401", "M144501", "M144601", "M144701", "M144801", "M144901", "M145001", "M145101", "M013431", "M0757CL", "M013131", "M091701", "M072801", 
     "M091501", "M091601", "M073501", "M052401", "M075301", "M072901", "M013631", "M075801", "M013731", "M013531", "M051801", "M093401", "M093801", "M142001", "M142101", "M142201", "M142301", "M142401", "M142501", "M142601", "M142701", "M142801", "M142901", "M143001", "M143101", "M143201", "M143301", "M143401", "M143501", "M105601", "M105801", "M105901", "M106001", "M106101", "M106201", "M106301", "M106401", "M106501", "M106601", "M106701", "M106801", "M106901", "M107001", "M107101", "M107201", "M107401", 
     "M107501", "M107601", "M109801", "M110001", "M110101", "M110201", "M110301", "M110401", "M110501", "M110601", "M110701", "M110801", "M110901", "M111001", "M111201", "M111301", "M111401", "M111501", "M111601", "M111801", "YRSEXP", "YRSMATH", "T089401", "T088001", "T090801", "T090802", "T090803", "T090804", "T090805", "T090806", "T087501", "T088301", "T088401", "T088501", "T088602", "T088603", "T088801", "T088803", "T088804", "T088805", "T091502", "T091503", "T091504", "C052801", "C052802", "C052804", 
     "C052805", "C052806", "C052807", "C052808", "C052701", "C046501", "C044006", "C044007", "C052901", "C053001", "C053101"), Start = c(1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30, 32, 35, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, 342, 351, 360, 369, 378, 387, 396, 405, 414, 423, 432, 441, 450, 459, 468, 477, 486, 495, 504, 513, 522, 531, 
     540, 549, 558, 567, 576, 585, 594, 603, 612, 617, 622, 627, 632, 637, 642, 647, 652, 657, 662, 667, 672, 677, 682, 687, 692, 697, 702, 707, 712, 717, 722, 727, 732, 737, 742, 747, 752, 757, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 781, 783, 784, 785, 786, 788, 789, 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 824, 825, 826, 827, 828, 829, 830, 
     831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 
     934, 935, 937, 939, 941, 943, 945, 947, 949, 951, 952, 954, 956, 958, 959, 960), End = c(2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 28, 29, 31, 34, 35, 44, 53, 62, 71, 80, 89, 98, 107, 116, 125, 134, 143, 152, 161, 170, 179, 188, 197, 206, 215, 224, 233, 242, 251, 260, 269, 278, 287, 296, 305, 314, 323, 332, 341, 350, 359, 368, 377, 386, 395, 404, 413, 422, 431, 440, 449, 458, 467, 476, 485, 494, 503, 512, 521, 530, 539, 548, 557, 566, 575, 584, 593, 602, 611, 
     616, 621, 626, 631, 636, 641, 646, 651, 656, 661, 666, 671, 676, 681, 686, 691, 696, 701, 706, 711, 716, 721, 726, 731, 736, 741, 746, 751, 756, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 780, 782, 783, 784, 785, 787, 788, 789, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 
     839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 940, 942, 944, 946, 948, 
     950, 951, 953, 955, 957, 958, 959, 960), Width = c(2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 3, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 
     1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1, 1), Decimal = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Labels = c("Assessment year", "All students", "Scrambled PSU and school code", "Gender", "Student classified as having a disability (504)", 
     "Student classified as ELL (2 categories)", "Student classified Eng lang learner (3 categ)", "Race/ethnicity (from school records)", "Parental education level (from 2 questions)", "Mother's education level", "Father's education level", "Books in home", "Newspaper in home", "Computer at home", "Days absent from school last month", "Language other than English spoken in home", "Talk about studies at home", "Difficulty of this math test", "Effort on this math test", "Importance of success on this math test", 
     "Math class expected next year", "Math class taking now", "Reporting sample", "Jackknife variance stratum", "Jackknife variance stratum (for triples)", "Jackknife variance unit", "Student weight (unadjusted) - unpoststratified", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", 
     "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "JK", "Math-school base weight (non-response adjusted)", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "PV", "Determine order of angles", "Draw a vector                                (R1)", "Draw two rectangles using ruler              (R1)", "Visualize a geometric figure                  (R1)", 
     "Identify correct order", "Display data in pictograph                   (R1)", "Apply property of a cube", "Which piece of info not needed", "Apply part-whole relationship                 (R1)", "Determine effect of change", "Read value from graph", "Extend a pattern and compute", "Identify missing point", "Deduce geometric property given figure description", "Find the distance on a map", "Use scientific notation", "Apply percent increase to solve word problem", "Use scale to solve tiling problem            (R1)", 
     "Subtract whole numbers                       (R1)", "Identify 3-dimensional solids", "Complete geometric pattern", "Find acute angles in triangle", "Identify point on number line                 (R1)", "Find area of a figure", "Display data on bar graph                   (R1)", "Add and subtract to solve word problem        (R1)", "Round decimals to whole numbers", "Draw path on grid                             (R1)", "Show why point not on path                    (R1)", "Visualize a result of folding paper           (R1)", 
     "Apply line symmetry                           (R1)", "Enlarge figure proportionally                 (R1)", "Visualize different results", "Visualize result after rotation               (R1)", "Find the area of a pentagon                   (R1)", "Write a word problem                         (R1)", "Find simple probability", "Read line graphs                              (R1)", "Assemble pieces to cover a shape              (R1)", "Make a shape with given properties            (R1)", "Find figure that has a specified attribute", 
     "Compare areas of two shapes", "Describe translations", "Solve a number sentence                      (R1)", "Apply place value                            (R1)", "Subtract and estimate solution of word problem", "Find simple probability", "Recognize equivalent fractions", "Complete pattern and write rule               (R1)", "Convert hours to actual time", "List different possibilities                  (R1)", "Complete rational number line                 (R1)", "Apply pythagorean theorem", "Determine which operation results in odd integers", 
     "Find perimeter                                (R1)", "Find probability and explain                 (R1)", "Solve for x given value of n", "Best graph for change in temperature", "Cost to operate clothes dryer", "Find measure of angle", "Temperature range on a number line", "Shape formed by intersection", "Write fraction sum as decimal                 (R1)", "Profit from plywood", "Distance from bridge to water", "Number of servings from a pitcher", "Draw result of rearranging triangles          (R1)", 
     "Area of carpet", "Correlation b/w scores and eating habits", "Perimeter of 25th figure in pattern           (R1)", "Angela sells greeting cards", "Use similar triangles                         (R1)", "Apply division", "Interpret meaning of 2x             (num correct)", "Find a probability                           (R1)", "Solve for X", "Identify best unit of area", "Use division to solve problem", "Find a percent", "Compare mean and median                       (R1)", "Solve and explain number problem              (R1)", 
     "Use proportional reasoning                   (R1)", "Identify better survey                        (R1)", "Order fractions", "Visualize stacked spheres                    (R1)", "Convert temperatures", "Use scientific notation", "Find angle measure in a circle using arc measure", "Find the shape when a square is folded", "Read a complex bar graph                     (R1)", "Equation with same solution", "Dimensions of rectangle", "Congruent sides of polygons", "Identify place value", "Carnival tickets", 
     "Find area of figure", "Solution point to system of equations", "Express length of rectangle in terms of its width", "Identify next term after number               (R1)", "Tom's resting time", "Statistic represented by white", "FInd degree measure", "Use divisibility rules                       (R1)", "Identify points on a line", "Pieces that fit together to form a figure", "Morrison's house                              (R1)", "Which could be the actual weight of the object", "Which lettered point has coordinates (-3,0)", 
     "What fraction of the figure above is shaded", "What kind of triangle is shown above", "Identify a 7-digit number", "Which expression represents Jill's total pay", "What is the total weight of the two apples   (R1)", "What is the intersection of rays PQ and QP", "How many more hours are needed to finish the trip", "How much will 18 pounds of peanuts cost", "Identify the graph of this linear equation", "Which refrigerator has the greatest capacity", "Is Sarah's figure a parallelogram           (R1)", 
     "How many times should expect it to land on circle", "How many hot dogs did Carmen sell", "How many combinations so weight is 12 lb or less", "Distance from one location to another", "How many new releases and movie classics     (R1)", "Est distance given rate of descent over time", "Select number written in decimal notation", "Solve for length given perimeter and width", "Which of the following is equal to 6(x+6)", "Draw the image of figure A after reflected    (R1)", "What temp would be 15F more than temp shown above", 
     "What is the median price/gallon of gasoline", "Is Bill correct or incorrect                 (R1)", "What element forms the second greatest portion", "What are coordinates of midpoint of line segment", "Which graph is set all whole numbers less than 5", "Compute percentage of dollar amount", "Identify point on a number line", "What is the 6th number in the pattern", "In which county could this city lie", "What is the measure of the other acute angle", "Which of following can be folded from prism above", 
     "Which equation represents relationshiop b/w x & y", "How many friends received exactly 2 cards   (R1)", "Years taught elementary or secondary", "Years taught math", "Who sets the policy on calculator use in classroom", "Time per week on math instruction", "Teaching remedial mathematics this year", "Teaching general mathematics this year", "Teaching intro to algebra/pre-algebra this year", "Teaching algebra this year", "Teaching integrated or sequential math this year", "Teaching geometry this year", 
     "How many advanced mathematics courses did you take", "Availability of computers for teacher/students", "Computers for math in classroom, for students", "Computers for math in lab,media cent, for students", "Use computers to make-up tests for individ student", "Use computers for individual tests for all student", "Computer activities: Math tool for math concepts", "Computer activities: Develop math curricula,assign", "Computer activities: Use a gradebook program", "Computer activities: Post homework,schedule info", 
     "G8Math:How often use Symbolic manipulator", "G8Math:How often use Geometry sketchbook", "G8Math:How often use Data collection device", "Percent enrolled in eighth-grade mathematics", "Percent enrolled in intro to algebra/pre-algebra", "Percent enrolled in algebra I (year 1 of 2)", "Percent enrolled in algebra I (year 2 of 2)", "Percent enrolled in geometry", "Percent enrolled in algebra II", "Percent enrolled in integrated/sequential math", "Percent enrolled in math for advancement", "Percent enrollment identified as ELL", 
     "Percent receiving ESL instruction", "Percent in special education", "Are gr8 students assigned to math class by ability", "Percent placed higher in math from grade 8 to 9", "% students to a lower placement in math: G8&G9."), labelValues = c("", "1=Age 09^2=Age 13^3=Age 17", "", "1=Male^2=Female", "1=Yes^2=No", "1=Yes^2=No^8=Omitted", "1=Yes^2=No^3=Formerly ELL", "1=White^2=Black^3=Hispanic^4=Asian/Pacific Island^5=Amer Ind/Alaska Natv^6=Other^8=Omitted", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^4=Graduated college^7=I Don't Know^8=Omitted^0=Multiple", 
     "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=Did not finish H.S.^2=Graduated H.S.^3=Some ed after H.S.^5=I don't know^7=I Don't Know^8=Omitted^0=Multiple", "1=0-10^2=11-25^3=26-100^4=>100^8=Omitted^0=Multiple", "1=Yes^2=No^7=I Don't Know^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1-2 days^3=3-4 days^4=5-10 days^5=More than 10 days^8=Omitted^0=Multiple", "1=Never^2=Once in a while^3=Half the time^4=All or most of time^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once every few weeks^3=About once a week^4=2 or 3 times a week^5=Every day^8=Omitted^0=Multiple", "1=Easier than others^2=As hard as others^3=Harder than others^4=Much harder^8=Omitted^0=Multiple", "1=Tried not as hard^2=Tried about as hard^3=Tried harder^4=Tried much harder^8=Omitted^0=Multiple", "1=Not very important^2=Somewhat important^3=Important^4=Very important^8=Omitted^0=Multiple", "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic, general math^8=Integrat or seq math^9=Bus or consumer math^10=Other math class^77=I Don't Know^88=Omitted^0=Multiple", 
     "1=Geometry^2=Algebra II^3=Algebra I (1-yr crs)^4=1st yr 2-yr Algeb I^5=2nd yr 2-yr Algeb I^6=Int algeb,pre-algeb^7=Basic,gen gr 8 math^8=Integrat or seq math^9=Other math class^88=Omitted^0=Multiple", "1=Reporting sample^2=Not reporting sample", "", "", "1=1^2=2^3=3", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Wrong^2=Correct #2^3=Correct #1^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect #1^2=Incorrect #2^3=Incorrect #3^4=Incorrect #4^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Minimal^3=Partial^4=Satisfactory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B *^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Minimal^3=Partial^4=Satisfcatory^5=Extended^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial comprehensio^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^4=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=None correct^2=One correct^3=Two correct^4=Three correct^5=Illegible^6=Off Task^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Correct*^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", 
     "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Correct^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial1^3=Partial2^4=Partial3^5=Partial4^55=Illegible^66=Off Task^77=Non-Rateable^88=Omitted^99=Not Reached", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=Incorrect^2=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A *^2=B^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D *^5=E^8=Omitted^9=Not Reached^0=Multiple", 
     "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B *^3=C^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C^4=D^5=E *^8=Omitted^9=Not Reached^0=Multiple", "1=A^2=B^3=C *^4=D^5=E^8=Omitted^9=Not Reached^0=Multiple", "1=Incorrect^2=Partial^3=Correct^5=Illegible^6=Off Task^7=Non-Rateable^8=Omitted^9=Not Reached", "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", 
     "1=0-4 years^2=5-9 years^3=10-19 years^4=20+ years^8=Omitted", "1=Each individ teacher^2=Math teachers^3=Curric supervisor^4=Local Board of Educ^8=Omitted^0=Multiple", "1=Less than 3 hours^2=3-4.9 hours^3=5-6.9 hours^4=7 hours or more^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=None^2=1 or 2 courses^3=3 or 4 courses^4=5 courses or more^8=Omitted^0=Multiple", 
     "1=Yes, available^2=Yes, I have access^3=No, have no access^8=Omitted^0=Multiple", "1=One per student^2=One per 2 students^3=One per 3 students^4=One per 4 students^5=One per 5+ students^6=Do not use in class^8=Omitted^0=Multiple", "1=No lab/media center^2=One per student^3=One per 2 students^4=One per 3 students^5=One per 4 students^6=One per 5+ students^7=Do not use in lab^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", "1=Never use computers^2=Sometimes computers^3=Always use computers^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", 
     "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=Never or hardly ever^2=Once or twice/month^3=Once or twice a week^4=Almost every day^8=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", 
     "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1-10%^3=11-25%^4=26-50%^5=51-75%^6=76-90%^7=91-100%^88=Omitted^0=Multiple", "1=None^2=1 to 5 percent^3=6 to 10 percent^4=11 to 20 percent^5=More than 20 percent^8=Omitted^0=Multiple", "1=0%^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", 
     "1=None^2=1-5%^3=6-10%^4=11-25%^5=26-50%^6=51-75%^7=76-90%^8=Over 90%^88=Omitted^0=Multiple", "1=Yes^2=No^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple", "1=Less than 1 percent^2=1 to 5 percent^3=6 to 10 percent^4=11 to 25 percent^5=More than 25 percent^6=Not grouped by abil^8=Omitted^0=Multiple"), pvWt = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "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", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", 
     "1", "2", "3", "4", "5", "1", "2", "3", "4", "5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), Type = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "num_oper", "num_oper", "num_oper", "num_oper", "num_oper", "measurement", "measurement", "measurement", "measurement", "measurement", "geometry", "geometry", "geometry", "geometry", "geometry", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "data_anal_prob", "algebra", "algebra", "algebra", "algebra", "algebra", "composite", "composite", 
     "composite", "composite", "composite", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
     "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), dataType = c("character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", 
     "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", 
     "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", 
     "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character", "character"), weights = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, 
     FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,