rerun doco

This commit is contained in:
Jared Knowles
2022-10-16 17:53:59 -04:00
parent 20f65a7126
commit 38a7e2f242
6 changed files with 136 additions and 1 deletions
+72
View File
@@ -73,3 +73,75 @@ pretty_count <- function(x) {
x <- prettyNum(x, big.mark = ",")
return(x)
}
#' Unsuppress data using sampling
#'
#' @param x
#' @param replace_char the character you want to replace in the vector
#' @param zeros the number of zeroes to oversample when replacing replace_char
#' @param max_value the numeric maximum value the replacement for the "*" can be
#' @return a numeric vector with no characters representing suppressed values
#' @export
#'
#' @examples
#' suppr_data <- c("2", "8", "*", "*", "7", "9", "100")
#' star_subs(suppr_data, zeros = 1, max_value = 10)
#' star_subs(suppr_data, zeros = 1, max_value = 200)
star_subs <- function(x, replace_char = "*",
zeros = 15, max_value = 20) {
x[x == "*"] <- sample(c(rep("0", zeros), as.character(0:max_value)),
sum(x==replace_char), replace = TRUE)
x <- as.numeric(x)
return(x)
}
#' Recode grade level from character to numeric
#'
#' @param x character description of grade levels from NCES style data
#'
#' @return
#' @export
#'
#' @examples
grade_level_to_num <- function(x) {
# Cannot generate new levels if it is a factor so we coerce to character first
x <- as.character(x)
x[x %in% c("KG", "Kindergarten")] <- "0"
x[x %in% c("Pre-K", "Pre-k", "Preschool", "Pre-Kindergarten")] <- "-1"
x[x %in% c("Adult", "Adult Education")] <- "13"
y <- as.numeric(x)
return(y)
}
#' Recode NCES race categories to shorter names
#'
#' @param x a character vector with NCES race codes, often from Urban Institute
#'
#' @return
#' @export
#'
#' @examples
race_short_names <- function(x) {
x <- as.character(x)
x[x %in% c("Black", "Black Or African American", "Black or African American",
"African American")] <- "black"
x[x %in% c("Hispanic", "Hispanic Or Latino", "Hispanic or Latino")] <-
"hisp_lat"
x[x %in% c("White", "white", "White and Not Hispanic")] <- "white"
x[x %in% c("Asian", "Asian American")] <- "asian"
x[x %in% c("Two Or More Races", "Two or More Races")] <- "two_or_more"
x[x %in% c("Native Hawaiian Or Other Pacific Islander",
"Native Hawaiian or Other Pacific Islander",
"Native Hawaiian Pacific Islander")] <- "native_haw"
x[x %in% c("American Indian", "American Indian Or Alaska Native",
"American Indian or Alaska Native", "American Indian or Native Alaskan")] <- "amind"
x[x %in% c("Not Reported")] <- "other"
return(x)
}