Limpia los nombres de un objeto (normalmente un data.frame).
Source:R/limpiar_nombres.R
limpiar_nombres.Rd
Los nombres resultantes son unicos y estan compuestos unicamente por el caracter _
, numeros y
letras. Las preferencias de mayusculas se pueden especificar utilizando el parametro case
.
Los caracteres acentuados se transliteran a ASCII. Por ejemplo, una "o" con una dieresis alemana sobre ella se convierte en "o", y el caracter español "ñ" se convierte en "n".
Esta funcion toma y devuelve un data.frame. Se puede usar con pipelines
`%>%`
. limpiar_nombres
se basa en la versatil funcion
link[snakecase]{to_any_case}
, que acepta muchos argumentos. Consulte la documentacion de
esa funcion para obtener ideas sobre como sacar
sacar el maximo provecho de limpiar_nombres
. A continuacion se incluyen algunos ejemplos.
Esta funcion fue tomada del paquete janitor: link[janitor]{clean_names}
.
Arguments
- dat
data.frame.
- ...
Arguments passed on to
limpiar_nombres2
case
Preferencias de mayusculas
sep_in
(abreviatura de entrada separadora) si es un carácter, se interpreta como una expresión regular (envuelta internamente en stringr::regex()). El valor por defecto es una expresión regular que coincide con cualquier secuencia de valores no alfanuméricos. Todas las coincidencias serán reemplazadas por guiones bajos (además de "_" y " ", para los que esto siempre es cierto, incluso si se proporciona NULL). Estos guiones bajos se utilizan internamente para dividir las cadenas en subcadenas y especificar los límites de las palabras.
transliterations
Un vector de caracteres (si no es NULL). Las entradas de este argumento deben ser elementos de stringi::stri_trans_list() (como "Latin-ASCII", que suele ser útil) o nombres de tablas de búsqueda (actualmente sólo se admite "german").
parsing_option
Un entero que determinará la parsing_option.
numerals
Carácter que especifica la alineación de los numerales ("medio", izquierda, derecha, asis o apretado). Es decir, numerales = "izquierda" garantiza que no haya ningún separador de salida delante de un dígito.
replace
Un vector de caracteres con nombre en el que el nombre se sustituye por el value.
ascii
Convertir los nombres a ASCII (TRUE, por defecto) o no (FALSE).
use_make_names
¿Deberia aplicarse el codigo make.names() para asegurar que la sea utilizable como un nombre sin comillas? (Evitar
make.names()
asegura que la salida es independiente de la localizacion, pero las comillas pueden ser necesarias).
Details
limpiar_nombres()
esta destinado a ser utilizado en data.frames
y objetos similares a un data.frame
. Para limpiar otros objetos con nombre como listas con
nombre y vectores, use limpiar_nombres2()
.
See also
Other Set names:
mu_to_u
Examples
# --- uso ---
x <- data.frame(caseID = 1, DOB = 2, Other = 3)
limpiar_nombres(x)
#> case_id dob other
#> 1 1 2 3
# o usando pipelines:
# x %>%
# limpiar_nombres()
# si prefiere los nombres de las variables en camelCase:
#x %>%
# limpiar_nombres(., "lower_camel")
# (not run) correr limpiar_nombres despues de cargar una base:
# library(readxl)
# read_excel("messy_excel_file.xlsx") %>%
# limpiar_nombres()
# --- Aprovechando las ventajas de snakecase::to_any_case arguments ---
# Restaurar nombres de columnas para graficar
#mtcars %>%
# limpiar_nombres(case = "title")
# indicar a limpiar_nombres dejar intactas ciertas abreviaturas:
#x %>%
# limpiar_nombres(case = "upper_camel", abbreviations = c("ID", "DOB"))