Transformación de Datos
La transformación de datos es un paso crucial 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
Una transformación común es calcular nuevos indicadores a partir de columnas existentes. Por ejemplo, se puede calcular el precio por kilómetro para evaluar cuán rentable es un vehículo.
Base R
Se puede crear una nueva columna utilizando el operador $
para definir su nombre y asignarle 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 los conjuntos de datos del mundo real, 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 la potencia de freno (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 evalúa 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
Puede utilizar la función case_when()
como reemplazo de 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
Can you explain the difference between using Base R and dplyr for data transformation?
How do I handle non-numeric values when converting columns for analysis?
Can you show more examples of categorizing data using different criteria?
Awesome!
Completion rate improved to 4
Transformación de Datos
Desliza para mostrar el menú
La transformación de datos es un paso crucial 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
Una transformación común es calcular nuevos indicadores a partir de columnas existentes. Por ejemplo, se puede calcular el precio por kilómetro para evaluar cuán rentable es un vehículo.
Base R
Se puede crear una nueva columna utilizando el operador $
para definir su nombre y asignarle 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 los conjuntos de datos del mundo real, 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 la potencia de freno (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 evalúa 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
Puede utilizar la función case_when()
como reemplazo de 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!