Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Importando e Tratando os Dados

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.

1 resposta

Fala, Marcus! Tudo bom?

Agradeço por trazer sua solução para o fórum!

Curti demais como trabalhou a importação de dados para análise com R, entendeu perfeitamente a importância do tratamento de valores ausentes para manter a consistência da base e usou bem a criação de variáveis derivadas para normalizar os indicadores por metro quadrado. Esse cuidado garante que a análise descritiva seja mais confiável e evita problemas como divisões por zero.

Algo bem legal para complementar é aplicar funções do dplyr para calcular estatísticas resumidas dos novos indicadores, como médias e medianas. Dessa maneira:

dados_limpos %>%
  summarise(
    media_aluguel_m2 = mean(Aluguel_por_metro_quadrado, na.rm = TRUE),
    mediana_total_m2 = median(Total_por_metro_quadrado, na.rm = TRUE)
  )

Isso faz com que você tenha uma visão mais clara da distribuição dos preços por metro quadrado.

E algumas boas práticas que você pode adotar são:

  • Legibilidade: manter nomes de variáveis consistentes e descritivos.
  • Generalização: encapsular etapas de limpeza em funções reutilizáveis.
  • Exploração: criar gráficos com ggplot2 para visualizar padrões nos dados.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: o que você prefere explorar mais agora, criar visualizações gráficas para entender melhor os padrões dos imóveis ou aplicar modelos estatísticos para prever valores de aluguel?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!