In this assignment, I will explore which types of airbnb room is more common in DC area.

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)
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>
df %>%
  group_by(room_type) %>%
  summarise(number_of_rooms = n())
## # A tibble: 4 × 2
##   room_type       number_of_rooms
##   <chr>                     <int>
## 1 Entire home/apt            4863
## 2 Hotel room                   74
## 3 Private room               1305
## 4 Shared room                  15
ggplot(df, aes(x = room_type, fill = room_type)) +
  geom_bar() +
  labs(
    title = "Number of Airbnb Listings by Room Type",
    x = "Room Type",
    y = "Number of Listings")

The bar chart shows the number of Airbnb listings for each room type in Washington DC. First, I grouped the data by room type and counted the total number of listings for each category. Here in the bar chart, each bar represents a different room type, such as entire homes or apartments, private rooms, and shared rooms. The x-axis shows the room types, and the y-axis shows the number of listings. The chart shows that entire homes or apartments are the most common type of Airbnb listing in Washington DC.