Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Transformación de Datos | Manipulación y Limpieza de Datos
Análisis de Datos con R

bookTransformació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"
  ))
question mark

¿Qué hace mutate() en dplyr?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 9

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

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

bookTransformació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"
  ))
question mark

¿Qué hace mutate() en dplyr?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 9
some-alt