tmp <- read.csv(file.choose(), header = T)
tmp
Bộ dữ liệu chứa danh sách nhà và giá của chúng dựa trên thông số kỹ thuật và vị trí của ngôi nhà.
Dataset gồm 24.326 quan sát và 8 biến như sau:
bedrooms: số phòng ngủ
bathrooms: số phòng tắm
toilets: số phòng vệ sinh
parking_space: số chỗ đậu xe
title: loại nhà ở
town: vị trí của ngôi nhà
state: tiểu bang
price: giá bán của các ngôi nhà
tmp %>% group_by(bedrooms) %>% summarise(n = n()) %>%
ggplot(aes(bedrooms,n)) +
geom_col(fill='green') +
geom_text(aes(label = n),vjust = 2, color = 'red') +
labs(x = 'Phòng ngủ', y = 'Số lượng', title = 'Số lượng phòng ngủ trong nhà') + scale_x_continuous(breaks = seq(0, 9, 1))
Giải thích chunk:
tmp %>% group_by(bedrooms) %>% summarise(n = n()): Đoạn này nhóm dữ liệu (tmp) theo biến “bedrooms” và tính tổng số lượng quan sát trong mỗi nhóm bằng cách sử dụng hàm summarise. Kết quả là một data frame mới với các cột “bedrooms” và “n” lần lượt đại diện cho biến đã nhóm và số lượng quan sát.
ggplot(aes(bedrooms, n)) + geom_col(fill=‘green’) + geom_text(aes(label = n), vjust = 2, color = ‘red’) + labs(x = ‘Phòng ngủ’, y = ‘Số lượng’) + scale_x_continuous(breaks = seq(0, 9, 1)): Đoạn này tạo một biểu đồ cột sử dụng gói ggplot2. Nó chỉ định các thẩm số hình thức (aes) với trục x là “bedrooms” và trục y là “n”. Sử dụng geom_col để tạo biểu đồ cột với màu xanh lá cây và geom_text để thêm nhãn lên trên mỗi cột. Nhãn của trục x được đặt là ‘Phòng ngủ’, trục y là ‘Số lượng’, và scale_x_continuous được sử dụng để đặt các điểm chia trên trục x tại các khoảng từ 0 đến 9.
Giải thích biểu đồ:
Biểu đồ cột dọc với 9 cột, tương đương số phòng ngủ có trong các ngôi nhà.
Số lượng nhà có phòng ngủ là 9 phòng và 8 phòng là thấp nhất với 163 và 169 phòng.
Số lượng nhà có 4 và 5 phòng là nhiều nhất.
tmp1 <- tmp %>% filter(town=='Lekki')
Dòng này sử dụng hàm filter từ gói dplyr để lọc dữ liệu. Nó giữ lại chỉ những dòng trong data frame tmp mà có giá trị trong cột “town” là ‘Lekki’.
tmp1 %>% group_by(title) %>% summarise(m= mean(bedrooms)) %>%
ggplot(aes(x = title,y = m)) +
geom_col(position = 'dodge') +
geom_text(aes(label = round(m,2)), vjust = 2, color = 'green') +
labs(x = 'Loại phòng', y = 'Mean', title ='Số lượng phòng ngủ trung bình')
Giải thích chunk:
tmp1 %>% group_by(title) %>% summarise(m = mean(bedrooms)): Dòng này sử dụng dplyr để nhóm dữ liệu trong tmp1 theo cột “title” và tính giá trị trung bình của cột “bedrooms” trong từng nhóm sử dụng hàm summarise. Kết quả là một data frame mới có cột “title” và “m” đại diện cho loại phòng và giá trị trung bình của số phòng ngủ tương ứng.
ggplot(aes(x = title, y = m)): Đoạn này bắt đầu một đối tượng ggplot và chỉ định các aes với trục x là “title” và trục y là “m”.
geom_col(position = ‘dodge’): Sử dụng geom_col để vẽ biểu đồ cột, với các cột được tạo ra bởi giá trị trung bình m cho mỗi loại phòng. Tham số position = ‘dodge’ được sử dụng để tạo các cột được đặt cách xa nhau.
geom_text(aes(label = round(m, 2)), vjust = 2, color = ‘green’): Thêm các nhãn văn bản lên trên các cột với giá trị trung bình m. Nhãn được làm tròn đến 2 chữ số thập phân và có màu xanh lá cây.
labs(x = ‘Loại phòng’, y = ‘Trung bình số phòng ngủ’): Đặt nhãn cho trục x là ‘Loại phòng’ và trục y là ‘Trung bình số phòng ngủ’.
Giải thích biểu đồ:
Biểu đồ là về số lượng phòng ngủ có trong các loại nhà.
Ở loại nhà Block of flat trung bình một căn nhà sẽ có 2,51 phòng.
Ở loại Detached duplex, trung bình một căn nhà sẽ có 4.81 phòng.
tmp %>% group_by(bathrooms) %>% summarise(n = n()) %>%
ggplot(aes(bathrooms,n)) +
geom_col(fill='green') +
geom_text(aes(label = n),vjust = 2, color = 'red') +
labs(x = 'Phòng tắm', y = 'Số lượng', title ='Số lượng phòng tắm trong nhà')+
scale_x_continuous(breaks = seq(0, 9, 1))
Giải thích chunk:
tmp %>% group_by(bathrooms) %>% summarise(n = n()) %>%: Phần này của mã nhóm dữ liệu trong dataframe tmp theo biến “bathrooms” và tính toán số lượng (n) cho mỗi nhóm.
ggplot(aes(bathrooms, n)) + geom_col(fill=‘green’) + geom_text(aes(label = n), vjust = 2, color = ‘red’) + labs(x = ‘Phòng tắm’, y = ‘Số lượng’, title =‘Số lượng phòng tắm trong nhà’) + scale_x_continuous(breaks = seq(0, 9, 1)): Phần này sử dụng ggplot() để khởi tạo biểu đồ, geom_col() để tạo biểu đồ cột, geom_text() để thêm nhãn lên trên các cột và labs() để đặt nhãn cho trục và tiêu đề. Cuối cùng, scale_x_continuous() được sử dụng để đặt các điểm chia trên trục x.
Giải thích biểu đồ:
Đây là biểu đồ về số lượng phòng tắm ở các ngôi nhà.
Trong 24326 ngôi nhà được phân tích, có 275 ngôi nhà có 1 phòng tắm, 897 ngôi nhà có 2 phòng tắm, 2128 ngôi nhà có 3 phòng ngủ,…
tmp2 <- tmp %>% filter(state=='Lagos')
Tạo một dataframe mới tmp2 bằng cách lọc các hàng trong dataframe hiện tại tmp nơi giá trị trong cột “state” bằng ‘Lagos’.
tmp2 %>% group_by(title) %>% summarise(m=mean(bathrooms)) %>%
ggplot(aes(x = title,y = m)) +
geom_col(position = 'dodge') +
geom_text(aes(label = round(m,2)), vjust = 2, color = 'green') +
labs(x = 'Loại nhà', y = 'Mean', title ='Số lượng phòng tắm trung bình')
Giải thích chunk:
tmp2 %>% group_by(title) %>% summarise(m=mean(bathrooms)) %>%: Đoạn mã này nhóm dữ liệu trong dataframe tmp2 theo cột “title” và tính giá trị trung bình (m) của cột “bathrooms” cho mỗi nhóm.
ggplot(aes(x = title,y = m)) + geom_col(position = ‘dodge’) + geom_text(aes(label = round(m,2)), vjust = 2, color = ‘green’) + labs(x = ‘Màu’, y = ‘Mean’, title =‘Số lượng phòng tắm trung bình’): Đoạn mã trên sử dụng thư viện ggplot2 trong ngôn ngữ lập trình R để tạo biểu đồ cột. Biểu đồ này hiển thị số lượng phòng tắm trung bình (được làm tròn đến 2 chữ số thập phân) của các loại nhà khác nhau. Mỗi cột biểu diễn một loại nhà, với chiều cao của cột thể hiện giá trị trung bình, và giá trị cụ thể được hiển thị ở đỉnh cột bằng văn bản màu xanh. Trục x là “Loại nhà”, trục y là “Mean” (Trung bình), và tiêu đề của biểu đồ là “Số lượng phòng tắm trung bình”.
Giải thích biểu đồ:
Đây là biểu đồ trung bình về số lượng phòng tắm phân loại theo loại nhà.
Trng bình một căn nhà thuộc loại Block of Flats sẽ có 3.51 phòng tắm.
Ở loại nhà Terraced Duplexes trung bình một căn nhà sẽ có 4.06 phòng tắm.
tmp %>% group_by(toilets) %>% summarise(n = n()) %>%
ggplot(aes(toilets,n)) +
geom_col(fill='green') +
geom_text(aes(label = n),vjust = 2, color = 'red') +
labs(x = 'Phòng vệ sinh', y = 'Số lượng', title ='Số lượng phòng vệ sinh') +
scale_x_continuous(breaks = seq(0, 9, 1))
Giải thích chunk:
tmp %>% group_by(toilets) %>% summarise(n = n()) %>%: Nhóm dữ liệu theo biến ‘toilets’ và đếm số lượng các quan sát
ggplot(aes(toilets, n)): Tạo một biểu đồ, ánh xạ trục x cho toilets và trục y là số lượng ‘n’.
geom_col(fill=‘green’): Đặt màu fill của cột là màu xanh.
geom_text(aes(label = n), vjust = 2, color = ‘red’): Thêm văn bản màu đỏ với vị trí đặt chữ là 2 đơn vị, hiển thị số lượng trong từng cột.
labs(x = ‘Phòng vệ sinh’, y = ‘Số lượng’): Đặt tiêu đề và nhãn cho biểu đồ.
scale_x_continuous(breaks = seq(0, 9, 1)): Điều chình cột x, đặt các điểm chia trục x từ 0 đến 9 với bước là 1.
Giải thích biểu đồ:
Biểu đồ là về số lượng phòng vệ sinh trong mỗi căn nhà.
Số lượng ngôi nhà có 1 phòng vệ sinh là 399
Số ngôi nhà có 2 phòng ngủ là 472.
Có 10008 ngôi nhà có 5 phòng vệ sinh.
tmp2 %>% group_by(title) %>% summarise(m=mean(toilets)) %>%
ggplot(aes(x = title,y = m)) +
geom_col(position = 'dodge') +
geom_text(aes(label = round(m,2)), vjust = 2, color = 'green') +
labs(x = 'Loại nhà', y = 'Mean', title ='Số lượng phòng vệ sinh trung bình')
Giải thích chunk:
tmp2 %>% group_by(title) %>% summarise(m=mean(toilets)) %>%: Nhóm dữ liệu theo cột ‘title’ và tính giá trị trung bình của mỗi loại nhà.
ggplot(aes(x = title, y = m)): Tạo biểu đồ và ánh xạ trục x cho cột ‘title’ và cột y cho giá trị trung bình ‘m’.
geom_col(position = ‘dodge’): Hiển thị các cột cách xa nhau để có thể nhìn dễ dàng hơn.
geom_text(aes(label = round(m,2)), vjust = 2, color = ‘green’): Thêm văn bản là các giá trị trung bình trên mỗi cột với chữ màu xanh, làm tròn các con số đến 2 số thập phân.
labs(x = ‘Loại nhà’, y = ‘Mean’, title =‘Số lượng phòng vệ sinh trung bình’): Đặt nhãn cho các trục và tiêu đề cho biểu đồ.
Giải thích biểu đồ:
Biểu đồ về số lượng phòng vệ sinh trung bình có trong mỗi căn nhà theo từng loại.
Ở loại nhà Block of Flats trung bình một căn nhà sẽ có 3.82 phòng vệ sinh.
Tương tự ở loại Terraced Bungalow trung bình sẽ có 5.09 phòng vệ sinh trong một căn nhà.
tmp %>% group_by(parking_space) %>% summarise(n = n()) %>%
ggplot(aes(parking_space,n)) +
geom_col(fill='green') +
geom_text(aes(label = n),vjust = 2, color = 'red') +
labs(x = 'Bãi đậu xe', y = 'Số lượng') +
scale_x_continuous(breaks = seq(0, 9, 1))
Giải thích chunk:
tmp %>% group_by(parking_space) %>% summarise(n = n()): Đoạn này nhóm dữ liệu (tmp) theo biến “parking_space” và tính tổng số lượng quan sát trong mỗi nhóm bằng cách sử dụng hàm summarise. Kết quả là một data frame mới với các cột “parking_space” và “n” lần lượt đại diện cho biến đã nhóm và số lượng quan sát.
ggplot(aes(parking_space, n)) + geom_col(fill=‘green’) + geom_text(aes(label = n), vjust = 2, color = ‘red’) + labs(x = ‘Bãi đậu xe’, y = ‘Số lượng’) + scale_x_continuous(breaks = seq(0, 9, 1)): Đoạn này tạo một biểu đồ cột sử dụng gói ggplot2. Nó chỉ định các thẩm số hình thức (aes) với trục x là “parking_space” và trục y là “n”. Sử dụng geom_col để tạo biểu đồ cột với màu xanh lá cây và geom_text để thêm nhãn lên trên mỗi cột. Nhãn của trục x được đặt là ‘Bãi đậu xe’, trục y là ‘Số lượng’, và scale_x_continuous được sử dụng để đặt các điểm chia trên trục x tại các khoảng từ 0 đến 9.
Giải thích biểu đồ:
Biểu đồ là về số lượng bãi đậu xe có trong mỗi căn nhà.
Số lượng ngôi nhà có 1 bãi đậu xe là 1176.
Số ngôi nhà có 8 bãi đậu xe là 731.
Có 13377 ngôi nhà có 4 bãi đậu xe.
tmp2 %>% group_by(title) %>% summarise(m=mean(parking_space)) %>%
ggplot(aes(x = title,y = m)) +
geom_col(position = 'dodge') +
geom_text(aes(label = round(m,2)), vjust = 2, color = 'green') +
labs(x = 'Loại nhà', y = 'Mean', title ='Số lượng bãi đậu xe trung bình')
Giải thích chunk:
tmp2 %>% group_by(title) %>% summarise(m=mean(parking_space)) %>%: Nhóm dữ liệu theo cột ‘title’ và tính giá trị trung bình của mỗi loại nhà.
ggplot(aes(x = title, y = m)): Tạo biểu đồ và ánh xạ trục x cho cột ‘title’ và cột y cho giá trị trung bình ‘m’.
geom_col(position = ‘dodge’): Hiển thị các cột cách xa nhau để có thể nhìn dễ dàng hơn.
geom_text(aes(label = round(m,2)), vjust = 2, color = ‘green’): Thêm văn bản là các giá trị trung bình trên mỗi cột với chữ màu xanh, làm tròn các con số đến 2 số thập phân.
labs(x = ‘Loại nhà’, y = ‘Mean’, title =‘Số lượng bãi đậu xe trung bình’): Đặt nhãn cho các trục và tiêu đề cho biểu đồ.
Giải thích biểu đồ:
Biểu đồ về số lượng bãi đậu xe trung bình có trong mỗi căn nhà theo từng loại.
Ở loại nhà Block of Flats trung bình một căn nhà sẽ có 3.48 bãi đậu xe.
tmp$price1 <- case_when(tmp$price < 10000000 ~ 'Siêu thấp',
tmp$price >= 10000000 & tmp$price < 200000000 ~ 'Thấp',
tmp$price >= 200000000 & tmp$price < 900000000~ 'Trung bình',
tmp$price >= 900000000 & tmp$price < 90000000000~ 'Cao',
tmp$price >= 90000000000 ~ ' Cực cao')
Phân chia giá:
Giá từ 10000000 thuộc loại siêu thấp.
Giá từ 10000000 đến 200000000 thuộc loại thấp.
Giá từ 200000000 đến 900000000 thuộc loại trung bình.
Giá từ 900000000 đến 90000000000 thuộc loại cao.
Và giá từ trên 90000000000 thuộc loại rất cao.
tmp %>% group_by(price1) %>% summarise(n = n()) %>%
ggplot(aes(x = '', y = n,fill = price1)) +
geom_col() +
geom_text(aes(label = n),position = position_stack(vjust = 1))
Giải thích biểu đồ:
tmp %>% group_by(price1) %>% summarise(n = n()): Nhóm dữ liệu cột theo cột ‘price1’ và sử dụng summarise để tạo bảng tóm tắt với số lượng (n) của mỗi nhóm.
ggplot(aes(x = ’’, y = n, fill = price1)): Tạo một biểu đồ, ánh xạ cột x trống và cột y là số lượng, và màu sắc fill được xác định bởi giá trị trong cột “price1”.
geom_col(): Làm cho biểu đồ dạng cột, với mỗi cột tương ứng với giá trị của “price1”.
geom_text(aes(label = n), position = position_stack(vjust = 1)): Thêm nhãn với giá trị của “n” cho mỗi cột. Và giữ cho nhãn được đặt ở trung tâm của cột.
Giải thích biểu đồ:
5 màu sắc tương trưng cho 5 loại giá của các ngôi nhà.
Màu xanh biển chiếm diện tích nhiều nhất, tương đương giá của các ngôi nhà phần lớn thuộc ở giá thấp (18930 ngôi nhà)
tmp %>% group_by(price1) %>% summarise(n = n()) %>%
ggplot(aes(x = '', y = n,fill = price1)) +
geom_col(color = 'black') +
coord_polar('y') +
geom_text(aes(x = 1.3, label = n),position = position_stack(vjust = .5)) +
theme_void()
Từ biểu đồ dạng cột trên, thêm coord_polar(‘y’) để tạo thành dạng biểu đồ tròn, Và các giá trị tương đương với biểu đồ dạng cột trên.
theme_void(): Xóa các phần tử trang trí của biểu đồ, chỉ hiển thị các yếu tố chính.
tmp4 <- tmp %>% group_by(price1, town) %>% summarise(n = n(),.groups = 'drop')
tmp4 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp4 %>% filter(town == 'Lekki'), fill = 'red') +
geom_col(data = tmp4 %>% filter(town == 'Ikoyi'), fill = 'blue')
tmp4 <- tmp %>% group_by(price1, town) %>% summarise(n = n(), .groups = ‘drop’): Nhóm dữ liệu theo cột “price1” và “town”. Sử dụng summarise để tạo bảng tóm tắt với số lượng (n) của mỗi nhóm. .groups = ‘drop’ để bỏ qua việc giữ lại các nhóm.
tmp4 %>% ggplot(aes(x = price1, y = n)): ggplot tạo một đối tượng ggplot với aesthetics là “price1” trên trục x và “n” trên trục y.
geom_col(data = tmp4 %>% filter(town == ‘Lekki’), fill = ‘red’): geom_col tạo cột cho dữ liệu được lọc từ “Lekki”. Và làm cho màu của cột là đỏ.
geom_col(data = tmp4 %>% filter(town == ‘Ikoyi’), fill = ‘blue’): tạo cột cho dữ liệu được lọc từ “Ikoyi” và làm cho màu của cột là xanh.
Đây là biểu đồ so sánh giá của các ngôi nhà qua hai thành phố là ‘Lekki’ và ‘Ikoyi’
tmp4 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp4 %>% filter(town == 'Lekki'), fill = 'red') +
geom_col(data = tmp4 %>% filter(town == 'Abeokuta South'), fill = 'blue')
Biểu đồ so sánh giá của các ngôi nhà qua hai thành phố là ‘Lekki’ và ‘Abeokuta South’
tmp4 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp4 %>% filter(town == 'Ikoyi'), fill = 'red') +
geom_col(data = tmp4 %>% filter(town == 'Abeokuta South'), fill = 'blue')
Biểu đồ so sánh giá của các ngôi nhà qua hai thành phố là ‘Ikoyi’ và ‘Abeokuta South’
tmp5 <- tmp %>% group_by(price1, state) %>% summarise(n = n(),.groups = 'drop')
tmp5 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp5 %>% filter(state == 'Rivers'), fill = 'blue') +
geom_col(data = tmp5 %>% filter(state == 'Abia'), fill = 'red')
tmp5 <- tmp %>% group_by(price1, town) %>% summarise(n = n(), .groups = ‘drop’): Nhóm dữ liệu theo cột “price1” và “state”. Sử dụng summarise để tạo bảng tóm tắt với số lượng (n) của mỗi nhóm. .groups = ‘drop’ để bỏ qua việc giữ lại các nhóm.
tmp5 %>% ggplot(aes(x = price1, y = n)): ggplot tạo một đối tượng ggplot với aesthetics là “price1” trên trục x và “n” trên trục y.
geom_col(data = tmp5 %>% filter(state == ‘Rivers’), fill = ‘blue’): geom_col tạo cột cho dữ liệu được lọc từ “Rivers”. Và làm cho màu của cột là đỏ.
geom_col(data = tmp5 %>% filter(state == ‘Abia’), fill = ‘red’): tạo cột cho dữ liệu được lọc từ “Abia” và làm cho màu của cột là xanh.
Đây là biểu đồ so sánh giá của các ngôi nhà qua hai bang là ‘Rivers’ và ‘Abia’
tmp5 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp5 %>% filter(state == 'Rivers'), fill = 'blue') +
geom_col(data = tmp5 %>% filter(state == 'Ogun'), fill = 'red')
Đây là biểu đồ so sánh giá của các ngôi nhà qua hai bang là ‘Rivers’ và ‘Ogun’
tmp %>% group_by(title) %>% summarise(n = n()) %>%
ggplot(aes(title,n)) +
geom_col(fill='green') +
geom_text(aes(label = n),vjust = 2, color = 'red') +
labs(x = 'Loại', y = 'Số lượng', title ='Số lượng các loại nhà ở')
Giải thích chunk:
tmp %>% group_by(title) %>% summarise(n = n()) %>%: Phần này của mã nhóm dữ liệu trong dataframe tmp theo biến “title” và tính toán số lượng (n) cho mỗi nhóm.
ggplot(aes(title, n)) + geom_col(fill=‘green’) + geom_text(aes(label = n), vjust = 2, color = ‘red’) + labs(x = ‘Loại’, y = ‘Số lượng’, title =‘Số lượng các loại nhà ở’): Phần này sử dụng ggplot() để khởi tạo biểu đồ, geom_col() để tạo biểu đồ cột, geom_text() để thêm nhãn lên trên các cột và labs() để đặt nhãn cho trục và tiêu đề.
Giải thích biểu đồ:
Đây là biểu đồ về số lượng các loại nhà được điều tra.
Có 6 cột, tương đương 6 laoij nhà.
Trong 24326 ngôi nhà được phân tích, có 1745 ngôi nhà thuộc loại Block of Flats, 2108 ngôi nhà thuộc loại Detaced Bungalow,…
tmp3 <- tmp %>% group_by(price1, title) %>% summarise(n = n(),.groups = 'drop')
tmp3 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp3 %>% filter(title == 'Block of Flats'), fill = 'red') +
geom_col(data = tmp3 %>% filter(title == 'Detached Bungalow'), fill = 'blue')
tmp3 <- tmp %>% group_by(price1, title) %>% summarise(n = n(),.groups = ‘drop’): Nhóm dữ liệu theo cột “price1” và “title”. Sử dụng summarise để tạo bảng tóm tắt với số lượng (n) của mỗi nhóm. .groups = ‘drop’ để bỏ qua việc giữ lại các nhóm.
tmp3 %>% ggplot(aes(x = price1, y = n)): ggplot tạo một đối tượng ggplot với aesthetics là “price1” trên trục x và “n” trên trục y.
geom_col(data = tmp3 %>% filter(title == ‘Block of Flats’), fill = ‘red’): geom_col tạo cột cho dữ liệu được lọc từ “Block of Flats”. Và làm cho màu của cột là đỏ.
geom_col(data = tmp3 %>% filter(title == ‘Detached Bungalow’), fill = ‘blue’): tạo cột cho dữ liệu được lọc từ “Detached Bungalow” và làm cho màu của cột là xanh.
Đây là biểu đồ so sánh về giá giữa 2 loại nhà là ‘Block of Flats’ và ‘Detached Bungalow’
tmp3 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp3 %>% filter(title == 'Detached Duplex'), fill = 'red') +
geom_col(data = tmp3 %>% filter(title == 'Detached Bungalow'), fill = 'blue')
Biểu đồ so sánh về giá giữa 2 loại nhà là ‘Detached Duplex’ và ‘Detached Bungalow’
tmp3 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp3 %>% filter(title == 'Detached Duplex'), fill = 'red') +
geom_col(data = tmp3 %>% filter(title == 'Block of Flats'), fill = 'blue')
Biểu đồ so sánh về giá giữa 2 loại nhà là ‘Detached Duplex’ và ‘Block of Flats’
tmp3 %>% ggplot(aes(x = price1, y = n)) +
geom_col(data = tmp3 %>% filter(title == 'Detached Duplex'), fill = 'red') +
geom_col(data = tmp3 %>% filter(title == 'Block of Flats'), fill = 'blue') +
geom_col(data = tmp3 %>% filter(title == 'Detached Bungalow'), fill = 'green')
Biểu đồ so sánh về giá giữa 3 loại nhà là ‘Detached Duplex’ ‘Block of Flats’ và ‘Detached Bungalow’