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
Quizzes & Challenges
Quizzes
Challenges
/
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 aptos 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 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 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 precios 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?

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 aptos 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 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 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 precios 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