Transformación de Datos
Desliza para mostrar el menú
Transformación de datos como paso fundamental en la preparación de datos en bruto para el análisis. Consiste en modificar, agregar o recodificar variables para que los datos sean más significativos y estén listos para el análisis.
Creación de nuevas columnas
Transformación habitual para calcular nuevos indicadores a partir de columnas existentes. Por ejemplo, calcular el precio por kilómetro para evaluar la rentabilidad de un vehículo.
Base R
Creación de una nueva columna utilizando el operador $ para definir su nombre y asignar valores.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
Se pueden agregar nuevas columnas utilizando la función mutate(). Dentro de mutate(), se especifica el nombre de la nueva columna y se define cómo debe calcularse.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Conversión y transformación de datos numéricos basados en texto
En conjuntos de datos reales, la información numérica a menudo se almacena como texto combinado con caracteres no numéricos. Por ejemplo, los valores de potencia del motor pueden aparecer como "68 bhp", los cuales deben limpiarse y convertirse antes del análisis.
Base R
Se puede utilizar gsub() para eliminar texto no deseado y luego aplicar as.numeric() para convertir el resultado en números. Después de la conversión, se pueden realizar transformaciones adicionales, como convertir brake horsepower (bhp) a kilovatios.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
El mismo proceso puede simplificarse dentro de una llamada a mutate(). Es posible combinar el reemplazo de texto, la conversión de tipo y la creación de nuevas columnas en un solo paso, lo que hace que el código sea más limpio y fácil de leer.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Categorización de datos
Se pueden crear nuevas variables categóricas agrupando valores continuos en categorías significativas. Por ejemplo, los automóviles pueden clasificarse en rangos de precio Bajo, Medio o Alto según su precio de venta.
Base R
Esto puede realizarse con sentencias ifelse() anidadas. Cada condición se verifica en orden y el valor se asigna en consecuencia.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
Puedes utilizar la función case_when() como reemplazo de las sentencias if-else anidadas. Esto permite escribir múltiples condiciones en un formato limpio y legible.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Transformación de Datos
Transformación de datos como paso fundamental en la preparación de datos en bruto para el análisis. Consiste en modificar, agregar o recodificar variables para que los datos sean más significativos y estén listos para el análisis.
Creación de nuevas columnas
Transformación habitual para calcular nuevos indicadores a partir de columnas existentes. Por ejemplo, calcular el precio por kilómetro para evaluar la rentabilidad de un vehículo.
Base R
Creación de una nueva columna utilizando el operador $ para definir su nombre y asignar valores.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
Se pueden agregar nuevas columnas utilizando la función mutate(). Dentro de mutate(), se especifica el nombre de la nueva columna y se define cómo debe calcularse.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Conversión y transformación de datos numéricos basados en texto
En conjuntos de datos reales, la información numérica a menudo se almacena como texto combinado con caracteres no numéricos. Por ejemplo, los valores de potencia del motor pueden aparecer como "68 bhp", los cuales deben limpiarse y convertirse antes del análisis.
Base R
Se puede utilizar gsub() para eliminar texto no deseado y luego aplicar as.numeric() para convertir el resultado en números. Después de la conversión, se pueden realizar transformaciones adicionales, como convertir brake horsepower (bhp) a kilovatios.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
El mismo proceso puede simplificarse dentro de una llamada a mutate(). Es posible combinar el reemplazo de texto, la conversión de tipo y la creación de nuevas columnas en un solo paso, lo que hace que el código sea más limpio y fácil de leer.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Categorización de datos
Se pueden crear nuevas variables categóricas agrupando valores continuos en categorías significativas. Por ejemplo, los automóviles pueden clasificarse en rangos de precio Bajo, Medio o Alto según su precio de venta.
Base R
Esto puede realizarse con sentencias ifelse() anidadas. Cada condición se verifica en orden y el valor se asigna en consecuencia.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
Puedes utilizar la función case_when() como reemplazo de las sentencias if-else anidadas. Esto permite escribir múltiples condiciones en un formato limpio y legible.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
¡Gracias por tus comentarios!