Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Transformação de Dados | Manipulação e Limpeza de Dados
Análise de Dados com R

bookTransformação de Dados

Transformação de dados é uma etapa crucial na preparação de dados brutos para análise. Envolve modificar, adicionar ou recodificar variáveis para tornar os dados mais significativos e prontos para análise.

Criação de Novas Colunas

Uma transformação comum é calcular novas métricas a partir de colunas existentes. Por exemplo, pode-se calcular o preço por quilômetro para avaliar o quão econômico é um veículo.

Base R

É possível criar uma nova coluna utilizando o operador $ para definir seu nome e atribuir valores a ela.

df$price_per_km <- df$selling_price / df$km_driven
head(df)

dplyr

Novas colunas podem ser adicionadas utilizando a função mutate(). Dentro de mutate(), especifica-se o nome da nova coluna e define-se como ela deve ser calculada.

df <- df %>%
  mutate(price_per_km = selling_price / km_driven)

Conversão e Transformação de Dados Numéricos em Texto

Em conjuntos de dados reais, informações numéricas frequentemente são armazenadas como texto combinado com caracteres não numéricos. Por exemplo, valores de potência do motor podem aparecer como "68 bhp", que precisam ser limpos e convertidos antes da análise.

Base R

É possível utilizar gsub() para remover textos indesejados e, em seguida, aplicar as.numeric() para converter o resultado em números. Após a conversão, podem ser realizadas transformações adicionais, como converter brake horsepower (bhp) em kilowatts.

df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457  # convert to kilowatts

dplyr

O mesmo processo pode ser simplificado dentro de uma chamada mutate(). É possível combinar substituição de texto, conversão de tipo e criação de nova coluna em um único passo, tornando o código mais limpo e fácil de ler.

df <- df %>%
  mutate(
    max_power = as.numeric(gsub(" bhp", "", max_power)),
    max_power_kw = max_power * 0.7457
  )

Categorização de Dados

Novas variáveis categóricas podem ser criadas agrupando valores contínuos em categorias significativas. Por exemplo, carros podem ser classificados em faixas de preço Baixa, Média ou Alta com base no preço de venda.

Base R

Isso pode ser feito com instruções ifelse() aninhadas. Cada condição é verificada em ordem e o valor é atribuído de acordo.

df$price_category <- ifelse(df$selling_price < 300000, "Low",
                            ifelse(df$selling_price < 700000, "Medium", "High"))

dplyr

Você pode usar a função case_when() como substituta para declarações if-else aninhadas. Isso permite que múltiplas condições sejam escritas de forma limpa e legível.

df <- df %>%
  mutate(price_category = case_when(
    selling_price < 300000 ~ "Low",
    selling_price < 700000 ~ "Medium",
    TRUE ~ "High"
  ))
question mark

O que faz a função mutate() no dplyr?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 9

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

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

bookTransformação de Dados

Deslize para mostrar o menu

Transformação de dados é uma etapa crucial na preparação de dados brutos para análise. Envolve modificar, adicionar ou recodificar variáveis para tornar os dados mais significativos e prontos para análise.

Criação de Novas Colunas

Uma transformação comum é calcular novas métricas a partir de colunas existentes. Por exemplo, pode-se calcular o preço por quilômetro para avaliar o quão econômico é um veículo.

Base R

É possível criar uma nova coluna utilizando o operador $ para definir seu nome e atribuir valores a ela.

df$price_per_km <- df$selling_price / df$km_driven
head(df)

dplyr

Novas colunas podem ser adicionadas utilizando a função mutate(). Dentro de mutate(), especifica-se o nome da nova coluna e define-se como ela deve ser calculada.

df <- df %>%
  mutate(price_per_km = selling_price / km_driven)

Conversão e Transformação de Dados Numéricos em Texto

Em conjuntos de dados reais, informações numéricas frequentemente são armazenadas como texto combinado com caracteres não numéricos. Por exemplo, valores de potência do motor podem aparecer como "68 bhp", que precisam ser limpos e convertidos antes da análise.

Base R

É possível utilizar gsub() para remover textos indesejados e, em seguida, aplicar as.numeric() para converter o resultado em números. Após a conversão, podem ser realizadas transformações adicionais, como converter brake horsepower (bhp) em kilowatts.

df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457  # convert to kilowatts

dplyr

O mesmo processo pode ser simplificado dentro de uma chamada mutate(). É possível combinar substituição de texto, conversão de tipo e criação de nova coluna em um único passo, tornando o código mais limpo e fácil de ler.

df <- df %>%
  mutate(
    max_power = as.numeric(gsub(" bhp", "", max_power)),
    max_power_kw = max_power * 0.7457
  )

Categorização de Dados

Novas variáveis categóricas podem ser criadas agrupando valores contínuos em categorias significativas. Por exemplo, carros podem ser classificados em faixas de preço Baixa, Média ou Alta com base no preço de venda.

Base R

Isso pode ser feito com instruções ifelse() aninhadas. Cada condição é verificada em ordem e o valor é atribuído de acordo.

df$price_category <- ifelse(df$selling_price < 300000, "Low",
                            ifelse(df$selling_price < 700000, "Medium", "High"))

dplyr

Você pode usar a função case_when() como substituta para declarações if-else aninhadas. Isso permite que múltiplas condições sejam escritas de forma limpa e legível.

df <- df %>%
  mutate(price_category = case_when(
    selling_price < 300000 ~ "Low",
    selling_price < 700000 ~ "Medium",
    TRUE ~ "High"
  ))
question mark

O que faz a função mutate() no dplyr?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 9
some-alt