Data visualization of Airbnb Prices in Washington, DC

library(readxl)
df <- read_excel("Airbnb_DC_25.csv")
df
# A tibble: 6,257 × 18
      id name       host_id host_name neighbourhood_group neighbourhood latitude
   <dbl> <chr>        <dbl> <chr>     <lgl>               <chr>            <dbl>
 1  3686 Vita's Hi…    4645 Vita      NA                  Historic Ana…     38.9
 2  3943 Historic …    5059 Vasa      NA                  Edgewood, Bl…     38.9
 3  4197 Capitol H…    5061 Sandra    NA                  Capitol Hill…     38.9
 4  4529 Bertina's…    5803 Bertina   NA                  Eastland Gar…     38.9
 5  5589 Cozy apt …    6527 Ami       NA                  Kalorama Hei…     38.9
 6  7103 Lovely gu…   17633 Charlotte NA                  Spring Valle…     38.9
 7 11785 Sanctuary…   32015 Teresa    NA                  Cathedral He…     38.9
 8 12442 Peaches &…   32015 Teresa    NA                  Cathedral He…     38.9
 9 13744 Heart of …   53927 Victoria  NA                  Columbia Hei…     38.9
10 14218 Quiet Com…   32015 Teresa    NA                  Cathedral He…     38.9
# ℹ 6,247 more rows
# ℹ 11 more variables: longitude <dbl>, room_type <chr>, price <dbl>,
#   minimum_nights <dbl>, number_of_reviews <dbl>, last_review <dttm>,
#   reviews_per_month <dbl>, calculated_host_listings_count <dbl>,
#   availability_365 <dbl>, number_of_reviews_ltm <dbl>, license <chr>
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.2.0     ✔ readr     2.1.6
✔ forcats   1.0.1     ✔ stringr   1.6.0
✔ ggplot2   4.0.2     ✔ tibble    3.3.1
✔ lubridate 1.9.5     ✔ tidyr     1.3.2
✔ purrr     1.2.1     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readxl)
library(ggplot2)
library(dbplyr)

Attaching package: 'dbplyr'

The following objects are masked from 'package:dplyr':

    ident, sql
df <-read_excel("Airbnb_DC_25.csv")
airbnb_summary<-df %>%
  group_by(neighbourhood)%>%
  summarize(avg_price=mean(price, na.rm=TRUE))
airbnb_summary
# A tibble: 39 × 2
   neighbourhood                                                       avg_price
   <chr>                                                                   <dbl>
 1 Brightwood Park, Crestwood, Petworth                                    117. 
 2 Brookland, Brentwood, Langdon                                           130. 
 3 Capitol Hill, Lincoln Park                                              188. 
 4 Capitol View, Marshall Heights, Benning Heights                          97.6
 5 Cathedral Heights, McLean Gardens, Glover Park                          241. 
 6 Cleveland Park, Woodley Park, Massachusetts Avenue Heights, Woodla…     151. 
 7 Colonial Village, Shepherd Park, North Portal Estates                   236. 
 8 Columbia Heights, Mt. Pleasant, Pleasant Plains, Park View              136. 
 9 Congress Heights, Bellevue, Washington Highlands                        134. 
10 Deanwood, Burrville, Grant Park, Lincoln Heights, Fairmont Heights      114. 
# ℹ 29 more rows
ggplot(airbnb_summary, aes(x=reorder(neighbourhood, avg_price), y=avg_price, fill=neighbourhood))+
  geom_bar(stat="identity")+
  labs(
    tittle="Average Airbnb Price by Neighborhood in Washington DC",
    x="Neighborhood",
    y="Average Price ($)",
    fill="Neighborhood",
    caption="Source: Airbnb_DC_25 dataset"
  )+
  theme_minimal()+
  theme(axis.text.x=element_text(angle=45, hjust=1))
Ignoring unknown labels:
• tittle : "Average Airbnb Price by Neighborhood in Washington DC"

This visualization shows the average Airbnb price across different neighbourhood in Washington DC. The data was grouped by neighborhood and the average listing price was calculated for each area, then displayed in a bar chart. The chart helps compare how prices vary between neighborhoods. One noticeable pattern is that some neighborhoods have significantly higher average prices than others, suggesting that the location has a strong influence on Airbnb pricing in the city.