#' transforma una variable numérica en uan de rangos
#'
#' Función para transformar una variable numérica en una categórica de rangos
#'
#' @param variable caracter con el nombre de la variable que se modificará
#'
#' @param agrupacion caracter que tiene la información de recodificación en el formato siguiente "18-24 25-35"
#'
#' @param nueva_variable caracter con el nombre que tenga la variable recodificada
#'
#' @param datos dataframe con los datos para transformar
#'
#' @return dataframe con una sóla columna correspondiente a la transformación
# función para transformar matriz de marcas a matriz de menciones y su inversa
w_ru_agrupacion_numerica <- function(variable,agrupacion,nueva_variable,datos){
if(is.na(agrupacion)){
return(NA)
}
eval(parse(text = paste0(
'datos <- datos %>%
mutate(',variable,'= as.numeric(as.character(',variable,')))'
)))
etiquetas <- strsplit(agrupacion,split = ' ') %>%
unlist %>%
paste0(.,collapse = '","') %>%
paste0('c("',.) %>%
paste0(.,'")')
rangos <- strsplit(agrupacion,split = ' ') %>%
unlist %>%
strsplit(.,'-') %>%
map(.,tail,1) %>%
paste0(.,collapse = ',') %>%
paste0('c(-Inf,',.) %>%
paste0(.,')')
resultado <- eval(parse(text = paste0(
'datos %>%
transmute(',nueva_variable,' = cut(',variable,',breaks = ',rangos,',labels = ',etiquetas,'))'
)))
return(resultado)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.