Para realizar a atividade, comecei carregando o Tidyverse e importando a base de dados com informações sobre preços de imóveis em São Paulo.
library(tidyverse)
dados <- read.csv(
"https://raw.githubusercontent.com/alura-cursos/Analise-descritiva-com-R/refs/heads/main/dados.csv",
sep = ";"
)
head(dados)
Em seguida, verifiquei a existência de valores ausentes (NA). Para identificar as linhas que apresentavam pelo menos um valor nulo, utilizei is.na(), rowSums() e uma condição lógica:
linhas_invalidas <- rowSums(is.na(dados)) > 0
dados[linhas_invalidas, ]
dados_limpos <- na.omit(dados)
Depois da remoção dos valores ausentes, verifiquei a existência de valores iguais a zero nas variáveis area, rent e total:
colunas <- c("area", "rent", "total")
for (coluna in colunas) {
resultado <- any(dados_limpos[[coluna]] == 0)
print(paste("A coluna", coluna, "tem zero?", resultado))
}
Como valores iguais a zero na variável area poderiam comprometer os cálculos posteriores, filtrei esses registros:
dados_limpos %>%
dplyr::filter(area == 0)
dados_limpos <- dados_limpos %>%
dplyr::filter(area != 0)
Por fim, criei duas novas variáveis para permitir uma comparação mais adequada entre imóveis de diferentes tamanhos: o aluguel por metro quadrado e o custo total por metro quadrado.
dados_limpos$Aluguel_por_metro_quadrado <-
dados_limpos$rent / dados_limpos$area
dados_limpos$Total_por_metro_quadrado <-
dados_limpos$total / dados_limpos$area
Com esse processo, a base fica mais consistente para as próximas etapas da análise descritiva, pois tratamos valores ausentes, eliminamos áreas iguais a zero e criamos indicadores normalizados por metro quadrado.
Um ponto que considerei importante foi justamente tratar area == 0 antes de calcular os valores por metro quadrado, evitando divisões por zero e resultados inválidos na análise.