Bộ dữ liệu “diamonds” là một tập dữ liệu phổ biến thường được sử dụng trong phân tích dữ liệu. Bộ dữ liệu này chứa thông tin về các mẫu kim cương, bao gồm các thuộc tính như trọng lượng (carat), giá (price), độ trong suốt (clarity), màu sắc (color), loại cắt (cut), độ sâu (depth), chiều rộng (table), và các kích thước khác (x, y, z).
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
q <- diamonds
q %>% ggplot(aes(x = cut)) +geom_bar()
q %>% ggplot(aes(x = carat)) +geom_bar()
câu lệnh này tạo ra một biểu đồ cột thể hiện phân phối của các giá trị trong cột carat của dữ liệu q. Mỗi cột trên biểu đồ đại diện cho một giá trị duy nhất của carat, và chiều cao của cột thể hiện số lần xuất hiện của giá trị đó trong dữ liệu. - Trục x thể hiện kích thước của kim cương - Trục y thể hiện số lượng kim cương tương ứng với mỗi kích thước
q %>% ggplot(aes(x = color)) +geom_bar()
q %>% ggplot(aes(x = clarity)) +geom_bar()
q %>% ggplot(aes(x = depth)) +geom_bar()
q %>% ggplot(aes(x = table)) +geom_bar()
câu lệnh này tạo ra một biểu đồ cột (bar chart) thể hiện phân phối của các giá trị trong cột table của dữ liệu q. Mỗi cột trên biểu đồ biểu diễn một giá trị duy nhất của table, và chiều cao của cột thể hiện tần suất (số lần xuất hiện) của giá trị đó trong dữ liệu. câu lệnh này tạo ra một biểu đồ cột thể hiện phân phối của các giá trị trong cột table của dữ liệu q. Mỗi cột trên biểu đồ đại diện cho một giá trị duy nhất của table, và chiều cao của cột thể hiện số lần xuất hiện của giá trị đó trong dữ liệu.
q %>% ggplot(aes(x = price)) +geom_bar()
câu lệnh này tạo ra một biểu đồ cột (bar chart) thể hiện phân phối của các giá trị trong cột price của dữ liệu q. Mỗi cột trên biểu đồ biểu diễn một giá trị duy nhất của price, và chiều cao của cột thể hiện tần suất (số lần xuất hiện) của giá trị đó trong dữ liệu.
q %>% ggplot(aes(x = x)) +geom_bar()
q %>% ggplot(aes(x = y)) +geom_bar()
q %>% ggplot(aes(x = z)) +geom_bar()
q %>% group_by(cut,color) %>% summarise(n=n())%>%ggplot(aes(x = cut,y = n)) +geom_col(position = 'dodge') +facet_wrap(~color)
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.
Biểu đồ giúp hiểu được phân phối của các loại kim cương (cut) trong từng mức độ màu sắc khác nhau. Mỗi cột trong biểu đồ thể hiện số lượng các loại kim cương (cut) cho mỗi mức độ màu sắc. Đối với mỗi mức độ màu sắc, chúng ta có thể quan sát được sự phân bố của các loại kim cương (cut) là như thế nào. Sự sắp xếp theo màu sắc giúp ta so sánh phân phối của các loại kim cương trong từng mức độ màu sắc, từ đó đánh giá được mức độ ảnh hưởng của màu sắc đối với chất lượng cắt của viên kim cương
q %>% group_by(carat,color) %>% summarise(n=n())%>%ggplot(aes(x = carat,y = n)) +geom_col(position = 'dodge') +facet_wrap(~color)
## `summarise()` has grouped output by 'carat'. You can override using the
## `.groups` argument.
câu lệnh này tạo ra một biểu đồ dạng cột thể hiện mối quan hệ giữa khối lượng (carat) và số lượng (n) của các kim cương, được phân loại theo màu sắc (color). Các cột được xếp chồng lên nhau (position = ‘dodge’) và biểu đồ được phân chia thành các nhóm nhỏ dựa trên màu sắc.
q %>% group_by(clarity,color) %>% summarise(n=n())%>%ggplot(aes(x = clarity,y = n)) +geom_col(position = 'dodge') +facet_wrap(~color)
## `summarise()` has grouped output by 'clarity'. You can override using the
## `.groups` argument.
câu lệnh này tạo ra một biểu đồ dạng cột thể hiện mối quan hệ giữa độ trong suốt (clarity) và số lượng (n) của các kim cương, được phân loại theo màu sắc (color). Các cột được xếp chồng lên nhau (position = ‘dodge’) và biểu đồ được phân chia thành các nhóm nhỏ dựa trên màu sắc.
q %>% group_by(depth,color) %>% summarise(n=n())%>%ggplot(aes(x = depth,y = n)) +geom_col(position = 'dodge') +facet_wrap(~color)
## `summarise()` has grouped output by 'depth'. You can override using the
## `.groups` argument.
câu lệnh này tạo ra một biểu đồ dạng cột thể hiện mối quan hệ giữa độ sâu (depth) và số lượng (n) của các kim cương, được phân loại theo màu sắc (color). Các cột được xếp chồng lên nhau (position = ‘dodge’) và biểu đồ được phân chia thành các nhóm nhỏ dựa trên màu sắc.
q %>% group_by(table,color) %>% summarise(n=n())%>%ggplot(aes(x = table,y = n)) +geom_col(position = 'dodge') +facet_wrap(~color)
## `summarise()` has grouped output by 'table'. You can override using the
## `.groups` argument.
câu lệnh này tạo ra một biểu đồ dạng cột thể hiện mối quan hệ giữa độ rộng mặt bàn (table) và số lượng (n) của các kim cương, được phân loại theo màu sắc (color). Các cột được xếp chồng lên nhau (position = ‘dodge’) và biểu đồ được phân chia thành các nhóm nhỏ dựa trên màu sắc.
q %>% group_by(price,color) %>% summarise(n=n())%>%ggplot(aes(x = price,y = n)) +geom_col(position = 'dodge') +facet_wrap(~color)
## `summarise()` has grouped output by 'price'. You can override using the
## `.groups` argument.
câu lệnh này tạo ra một biểu đồ dạng cột thể hiện mối quan hệ giữa giá (price) và số lượng (n) của các kim cương, được phân loại theo màu sắc (color). Các cột được xếp chồng lên nhau (position = ‘dodge’) và biểu đồ được phân chia thành các nhóm nhỏ dựa trên màu sắc.
q <- q %>% mutate(caratC = cut(carat,5, label = c('rất nhỏ', 'nhỏ','vừa','lớn','rất lớn')))
q %>% ggplot(aes(x = caratC)) +geom_bar(fill = 'red')
câu lệnh này tạo ra một biểu đồ cột thể hiện phân phối của các giá trị trong cột mới caratC, được tạo ra bằng cách chia giá trị của cột carat thành 5 nhóm khác nhau. Cột caratC được sử dụng trên trục x của biểu đồ, và màu fill của các cột được thiết lập là màu đỏ.
q <- q %>% group_by(cut, color) %>% summarise(n = n())
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.
q %>% ggplot(aes(x = cut, y = n)) +
geom_col(data = q %>% filter(color == 'D'), fill = 'red') +
geom_col(data = q %>% filter(color == 'J'), fill = 'blue')
câu lệnh này tạo ra một biểu đồ dạng cột thể hiện số lượng của mỗi loại cắt (cut), được phân loại theo màu sắc (color). Các cột có màu đỏ hoặc xanh tương ứng với các giá trị cụ thể của color.
q <- diamonds
q %>% group_by(color) %>% summarise(k= mean(carat)) %>% ggplot(aes(color,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị trung bình của khối lượng kim cương (carat) cho mỗi màu sắc. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các màu sắc của kim cương. - Trục y: Thể hiện giá trị trung bình trọng lượng carat
q %>% group_by(cut) %>% summarise(k= mean(carat)) %>%
ggplot(aes(cut,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Chất lượng cắt', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị trung bình của khối lượng (carat) cho mỗi loại cắt (cut). Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các chất lượng cắt khác nhau của kim cương - Trục y: Thể hiện giá trị trung bình trọng lượng carat
q %>% group_by(clarity) %>% summarise(k= mean(carat)) %>%
ggplot(aes(clarity,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Màu', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị trung bình của khối lượng (carat) cho mỗi loại clarity (độ trong suốt). Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các độ trong suốt khác nhau của kim cương - Trục y: Thể hiện giá trị trung bình trọng lượng carat
q %>% group_by(color) %>% summarise(k= mean(price)) %>%
ggplot(aes(color,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Màu', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị trung bình của giá cho mỗi loại màu. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các màu sắc khác nhau của kim cương - Trục y: Thể hiện giá trị trung bình giá bán
q %>% group_by(cut) %>% summarise(k= mean(price)) %>%
ggplot(aes(cut,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Chất lượng cắt', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị trung bình của giá cho mỗi loại cắt. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các chất lượng cắt khác nhau của kim cương - Trục y: Thể hiện giá trị trung bình giá bán
q %>% group_by(clarity) %>% summarise(k= mean(price)) %>%
ggplot(aes(clarity,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Độ trong suốt', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị trung bình của giá cho mỗi mức độ trong suốt của kim cương. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các độ trong suốt khác nhau của kim cương - Trục y: Thể hiện giá trị trung bình giá bán
q %>% group_by(color) %>% summarise(k= var(price)) %>%
ggplot(aes(color,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Màu', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị phương sai của giá cho mỗi loại màu của kim cương. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các màu sắc khác nhau của kim cương - Trục y: Thể hiện phương sai của giá bán
q %>% group_by(cut) %>% summarise(k= var(price)) %>%
ggplot(aes(cut,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Chất lượng cắt', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị phương sai của giá cho mỗi loại chất lượng cắt của kim cương. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các chất lượng cắt khác nhau của kim cương - Trục y: Thể hiện phương sai của giá bán
q %>% group_by(clarity) %>% summarise(k= var(price)) %>%
ggplot(aes(clarity,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 0.85, color = 'black') +
labs(x = 'Độ trong suốt', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện phương sai của giá cho mỗi mức độ trong suốt của kim cương. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các độ trong suốt khác nhau của kim cương - Trục y: Thể hiện phương sai của giá bán
q %>% group_by(cut) %>% summarise(k= var(carat)) %>%
ggplot(aes(cut,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,3)),vjust = 1, color = 'black') +
labs(x = 'Chất lượng cắt', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện phương sai của trọng lượng carat cho mỗi loại chất lượng cắt của kim cương. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các chất lượng cắt khác nhau của kim cương - Trục y: Thể hiện phương sai của trọng lượng carat
q %>% group_by(clarity) %>% summarise(k= var(carat)) %>%
ggplot(aes(clarity,k)) +
geom_col(fill='red') +
geom_text(aes(label = round(k,2)),vjust = 1, color = 'black') +
labs(x = 'Độ trong suốt', y = 'Số lượng')
câu lệnh này tạo ra một biểu đồ cột thể hiện phương sai của trọng lượng carat cho mỗi mức độ trong suốt của kim cương. Các cột được tô màu đỏ và có nhãn số liệu đính kèm. - Trục x: Thể hiện các độ trong suốt khác nhau của kim cương - Trục y: Thể hiện phương sai của trọng lượng carat
q %>% group_by(cut,color) %>% summarise(k =mean(price)) %>%
ggplot(aes(x = cut,y = k)) +
geom_col(position = 'dodge', fill= 'blue') +
facet_wrap(~color) +
geom_text(aes(label = round(k,1)),vjust = 0.25, color = 'black') +
labs(x = 'Loại', y = 'Số lượng')
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.
câu lệnh này tạo ra một biểu đồ cột thể hiện giá trị trung bình của giá cho mỗi loại cắt của kim cương, được phân loại theo màu. Các cột được tô màu xanh và có nhãn số liệu đính kèm.