Transformaçã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"
))
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Transformaçã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"
))
Obrigado pelo seu feedback!