Análise de dados AirBnb de Nova York
Análise de dados AirBnb de Nova York
- Introdução
- Base de dados
- Resultados
- Quais as vizinhanças com maior oferta de imóveis?
- Quais os tipos de aluguéis com maior oferta?
- Como é a distribuição dos preços dos aluguéis?
- Taxa de review por vizinhança
- Como é a distribuição dos dias disponíveis dos aluguéis?
- Qual a distribuição dos preços por vizinhança
- Qual a distribuição dos preços por tipo de quarto
- Heatmap dos aluguéis
- Com ggplot2
# Pacotes
library(tidyverse)
library(ggthemes)
library(DT)
# Diretório de trabalho
setwd('/cloud/project/EDA Airbnb New York')
# Importando os dados
df1 <- read.csv("AB_NYC_2019.csv",header = T,sep = ",")
# Estrutura dos dados
df1$id <- as.factor(df1$id)
df1$host_id <- as.factor(df1$host_id) Introdução
Esse pequeno trabalho tem como objetivo principal fazer perguntas. A partir delas, iremos desdobrar os trabalhos e assim conseguir tirar algum valor dos dados, se eles forem capazes de responder - las.
- Quais as vizinhanças com maior oferta de imóveis?
- Quais os tipos de aluguéis com maior oferta?
- Como é a distribuição dos preços dos aluguéis?
- Taxa de review por vizinhança
- Como é a distribuição dos dias disponíveis dos aluguéis?
- Qual a distribuição dos preços por vizinhança
- Qual a distribuição dos preços por tipo de quarto
- Há alguma concentração de proprietarios?
- Heatmap dos aluguéis
Base de dados
A base de dados utilizada vem do kaggle. Ela contém dados sobre alugueis de imóveis em 2019 na cidade de Nova York pelo Airbnb. Dados sobre como preço,dias disponiveis para alugar, número de comentarios, localização geográfica e etc.
Resultados
Quais as vizinhanças com maior oferta de imóveis?
df1 %>%
count(neighbourhood_group) %>%
ggplot(aes(reorder(neighbourhood_group,n),n)) +
geom_bar(stat = "identity") +
theme_fivethirtyeight() +
coord_flip()Manhattan e Brooklyn dominam a ofeta de imóveis para alugar em Nova York.
Quais os tipos de aluguéis com maior oferta?
df1 %>%
count(room_type) %>%
ggplot(aes(reorder(room_type,n),n)) +
geom_bar(stat = "identity") +
theme_fivethirtyeight() +
coord_flip()Só uma minoria da oferta de aluguéis é composta por quartos privados.
Como é a distribuição dos preços dos aluguéis?
df1 %>%
ggplot(aes(x = price)) +
geom_histogram(binwidth = 100) +
theme_fivethirtyeight() +
scale_x_continuous(breaks = seq(from = 0,to = 10000,by = 800))Como podemos ver no gráfico acima, a maior parte dos aluguéis tem o preço até 800 dólares.
Taxa de review por vizinhança
reviews <- df1 %>%
group_by(neighbourhood_group)%>%
summarise(Total_Review = sum(number_of_reviews))
total <- df1 %>%
count(neighbourhood_group)
left_join(reviews,total) %>%
mutate(taxa = Total_Review/n) %>%
ggplot(aes(reorder(neighbourhood_group,taxa),taxa)) +
geom_bar(stat = "identity") +
theme_fivethirtyeight() +
coord_flip()A situação se inverte do normal aqui. A média da review por apartamento é maior em State Island e menor em Manhattan.
Como é a distribuição dos dias disponíveis dos aluguéis?
df1 %>%
ggplot(aes(x = availability_365)) +
geom_histogram(binwidth = 25) +
theme_fivethirtyeight() +
scale_x_continuous(breaks = seq(from = 0,to = 400,by = 25))Aqui um dos principais insights retirados dos dados até agora. Por volta de vinte mil alugues, ou quase 50% do total, não está disponivel para alugar por nenhum dia do ano. Seriam esses anuncios fantasmas?
Qual a distribuição dos preços por vizinhança
df1 %>%
filter(price <= 500) %>%
group_by(neighbourhood_group) %>%
ggplot(aes(x = reorder(neighbourhood_group,price),y = price)) +
geom_boxplot() +
labs(title = "Distribuição dos preços dos aluguéis por vizinhança em Nova York",
subtitle = "Aluguéis de até US$ 500",
caption = "Fonte: Airbnb") +
theme_fivethirtyeight() +
theme(plot.title = element_text(size = 12, face = "bold"))Algumas observações interessantes, quase 75% dos apartamentos mais baratos do Brooklyn custam até 150 doláres a diaria, enquanto em Manhattan, esse valor correponde o máxio dos 50% mais baratos.
Qual a distribuição dos preços por tipo de quarto
df1 %>%
filter(price <= 500) %>%
group_by(room_type,neighbourhood_group) %>%
ggplot(aes(x = reorder(room_type,price),y = price)) +
geom_boxplot(aes(fill = reorder(neighbourhood_group,price))) +
labs(title = "Distribuição dos preços por tipo de acomodação em Nova York",
subtitle = "Aluguéis de até US$ 500",
caption = "Fonte: Airbnb",
fill = "Vizinhança") +
theme_fivethirtyeight() +
theme(plot.title = element_text(size = 12, face = "bold"))Percebemos aqui que a diferença começa a ficar maior quando queremos alugar apartamentos inteiros.
Heatmap dos aluguéis
library(leaflet)
library(leaflet.extras)
df1 %>%
leaflet() %>% addProviderTiles(providers$OpenStreetMap) %>%
addHeatmap(lng=~longitude, lat=~latitude,
radius = 8)Aqui podemos ver as areas no mapa com maiores numeros de alugueis
Com ggplot2
df1 %>%
ggplot() +
geom_point(aes(longitude,latitude,color = neighbourhood_group)) +
theme_fivethirtyeight()Podemos ver por bairro também.