1 Giới thiệu chung về bộ dữ liệu

library(ggplot2)
ntt <-  diamonds
dim(ntt)
## [1] 53940    10
  • Bộ dữ liệu ‘ntt’ bao gồm 53940 quan sát và 10 biến bao gồm:
  1. Carat : Trọng lượng của viên kim cương

  2. Cut : Giác cắt của kim cương

  3. Color : Màu sắc của kim cương

  4. Clarity : Độ trong/ Độ tinh khiết của kim cương hay còn gọi là mức sáng của kim cương

  5. Depth : Độ sâu của viên Kim Cương, là tổng chiều cao của viên Kim Cương được đo từ Table đến Culet.

  6. Table : Mặt được đánh bóng lớn nhất của viên Kim Cương.

  7. Price : Giá thành của kim cương

  8. x : chiều dài của kim cương

  9. y : chiều rộng của kim cương

  10. z : độ sâu của kim cương

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.3     ✔ tibble    3.2.1
## ✔ purrr     1.0.2     ✔ tidyr     1.3.0
## ── 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(scales)
## 
## Attaching package: 'scales'
## 
## The following object is masked from 'package:purrr':
## 
##     discard
## 
## The following object is masked from 'package:readr':
## 
##     col_factor

2 Các đồ thị cụ thể

2.1 Đồ thị số lượng kim cương theo các biến khác nhau

2.1.1 Biến ‘cut’

ntt %>% ggplot(aes(x = cut)) +
    geom_bar() +
    labs(x = 'Loại', y = 'Số lượng')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar chart với trục hoành là loại kim cương được chia theo biến ‘cut’và gồm 5 loại lần lượt là ’Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là số lượng kim cương ở từng loại . Từ đồ thị ta thấy được loại kim cương ‘Ideal’ có số lượng lớn nhất và theo thứ tự giảm dần là ‘Premium’,‘Very Good’,‘Good’,cuối cùng có số lượng nhỏ nhất là ‘Fair’

2.1.2 Biến ‘clarity’

ntt %>% ggplot(aes(x = clarity)) +
    geom_bar() +
    labs(x = 'mức sáng', y = 'Số lượng')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar chart với trục hoành là loại kim cương được chia theo biến ‘clarity’ là mức sáng của kim cương bao gồm ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’,trục tung là số lượng kim cương được chia theo từng mức sáng trên .Từ đồ thị trên ta thấy được số lượng kim cương ở mức sáng ‘SI1’ là lớn nhất và giảm dầng theo thứ tự ‘VS2’,‘SI2’,‘VS1’,‘VVS2’,‘VVS1’,IF’, và số lượng kim cương có mức sáng ‘I1’ là thấp nhất

2.1.3 biến ‘color’

ntt %>% ggplot(aes(x = color)) +
    geom_bar() +
    labs(x = 'màu sắc', y = 'Số lượng')

GIẢI THÍCH : Câu lệnh ở trên cho ta một đồ thị dạng Bar chart với trục hoành là loại kim cương được chia theo biến ‘Color’ là màu sắc của kim cương bao gồm 7 màu D,E,F,G,H,I,J , trục tung là số lượng kim cương được chia theo màu sắc, Từ đồ thị trên ta thấy số lượng kim cương có màu G lớn nhất và giảm dần theo thứ tự màu E,F,H,D,I, và số lượng kim cương có màu J là ít nhất

2.2 Đồ thị bar chart ngược số lượng kim cương theo biến ‘cut’

ntt %>% ggplot(aes(x = cut)) +
    geom_bar() +
    labs(x = 'Loại', y = 'Số lượng') +
    coord_flip()

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar chart lật ngược lại so với 3 đò thị trước đó với trục hoành là số lượng kim cương , trục tung là loại kim cương được chia theo biến ‘cut’và gồm 5 loại lần lượt là ’Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’ Từ đồ thị ta thấy được loại kim cương ‘Ideal’ có số lượng lớn nhất và theo thứ tự giảm dần là ‘Premium’,‘Very Good’,‘Good’,cuối cùng có số lượng nhỏ nhất là ‘Fair’

2.3 Đồ thị chỉ giá trị cụ thể số lượng kim cương theo biến ‘cut’

ntt %>% group_by(clarity) %>% summarise(n = n()) %>%
  ggplot(aes(clarity,n)) +
    geom_col(fill='skyblue') +
    geom_text(aes(label = n),vjust = 2, color = 'red') +
    labs(x = 'Mức sáng', y = 'Số lượng')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar chart với trục hoành là loại kim cương được chia theo biến ‘Clarity’là mức sáng của kim cương bao gồm ’I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’, trục tung là số lượng kim cương theo từng mức sáng . Từ đồ thị ta thấy được với mức sáng :

  • SI1 : 13065 (số lượng kim cương lớn nhất)
  • VS2 : 12258
  • SI2 : 9194
  • VS1 : 8171
  • VVS2 : 5066
  • VVS1 : 3655
  • IF : 1790
  • I1 : 741 ( số lượng kim cương nhỏ nhất)

2.4 Đồ thị chỉ phần trăm số lượng kim cương theo biến ‘cut’

ntt %>% group_by(cut) %>% summarise(n = n()) %>%
  ggplot(aes(cut,n)) +
    geom_col(fill='skyblue') +
    geom_text(aes(label = percent(n/length(ntt$carat))),vjust = 2, color = 'red') +
    labs(x = 'Loại', y = 'Số lượng')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar chart với trục hoành là loại kim cương được chia theo biến ‘cut’và gồm 5 loại lần lượt là ’Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là số lượng kim cương ở từng loại . Từ đồ thị ta thấy được tỉ trọng của từng loại kim cương :

  • Fair : 3% (chiếm tỉ trọng nhỏ nhất)
  • Good : 9,1%
  • Very Good : 22,4%
  • Premium : 25,6%
  • Idel : 40% (chiếm tỉ trọng lớn nhất )

2.5 Đồ thị chỉ phần trăm số lượng kim cương theo biến ‘color’

ntt %>% group_by(color) %>% summarise(n = n()) %>%
  ggplot(aes(color,n)) +
    geom_col(fill='skyblue') +
    geom_text(aes(label = percent(n/length(ntt$carat))),vjust = 2, color = 'red') +
    labs(x = 'Màu sắc', y = 'Số lượng')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar chart với trục hoành là loại kim cương được chia theo biến ‘color’và gồm 7 loại lần lượt là ’D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’ trục tung là số lượng kim cương ở từng loại . Từ đồ thị ta thấy được tỉ trọng của từng loại kim cương :

  • D : 12,56%
  • E : 18,16%
  • F : 17,69%
  • G : 20,93%
  • H : 15,39% (chiếm tỉ trọng lớn nhất )
  • I : 10,05%
  • J : 5,21% (chiếm tỉ trọng nhỏ nhất)

2.6 Đồ thị chỉ đặc trưng số lượng của các viên kim cương theo 2 biến

2.6.1 Biến ‘cut’ và biến ‘color’

ntt  %>% group_by(cut,color) %>% summarise(n=n()) %>%
  ggplot(aes(x = cut,y = n)) +
    geom_col(position = 'dodge') +
    facet_wrap(~color) +
    labs(x = 'Loại', y = 'Số lượng')
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.

GIẢI THÍCH : Câu lệnh trên cho ta tất cả là 7 đồ thị dạng Bar chart tương ứng với 7 loại màu của kim cương lần lượt là ‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’ . Trong mỗi đồ thị có trục hoành là loại kim cương được chia theo biến ‘cut’và gồm 5 loại lần lượt là ’Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là số lượng kim cương ở từng loại

2.6.2 Biến ‘clarity’ và biến ‘color’

ntt  %>% group_by(clarity,color) %>% summarise(n=n()) %>%
  ggplot(aes(x = clarity,y = n)) +
    geom_col(position = 'dodge') +
    facet_wrap(~color) +
    labs(x = 'Mức sáng', y = 'Số lượng')
## `summarise()` has grouped output by 'clarity'. You can override using the
## `.groups` argument.

GIẢI THÍCH : Câu lệnh trên cho ta tất cả là 7 đồ thị dạng Bar chart tương ứng với 7 loại màu của kim cương lầm lượt là ‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’ . Trong mỗi đồ thị có trục hoành là loại kim cương được chia theo biến ‘clarity’ là mức sáng của kim cương bao gồm ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’, trục tung là số lượng kim cương theo từng mức sáng

2.7 Đồ thị chỉ cụ thể số lượng của các viên kim cương theo 2 biến

2.7.1 Biến ‘cut’ và biến ‘color’

ntt %>% group_by(cut,color) %>% summarise(n=n()) %>%
  ggplot(aes(x = cut,y = n)) +
    geom_col(position = 'dodge') +
    facet_wrap(~color) +
    geom_text(aes(label = n),vjust = 2, color = 'skyblue') +
    labs(x = 'Loại', y = 'Số lượng')
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.

GIẢI THÍCH : Câu lệnh trên cho ta tất cả là 7 đồ thị dạng Bar chart tương ứng với 7 loại màu của kim cương lầm lượt là ‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’ . Trong mỗi đồ thị có trục hoành là loại kim cương được chia theo biến ‘cut’và gồm 5 loại lần lượt là ’Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là số lượng kim cương ở từng loại . Nhìn vào đồ thị ta có thể biết được tại loại kim cương khác nhau theo từng màu có số lượng là bao nhiêu một cách cụ thể

2.7.2 Biến ‘clarity’ và biến ‘color’

ntt %>% group_by(clarity,color) %>% summarise(n=n()) %>%
  ggplot(aes(x = clarity,y = n)) +
    geom_col(position = 'dodge') +
    facet_wrap(~color) +
    geom_text(aes(label = n),vjust = 2, color = 'skyblue') +
    labs(x = 'Mức sáng', y = 'Số lượng')
## `summarise()` has grouped output by 'clarity'. You can override using the
## `.groups` argument.

GIẢI THÍCH : Câu lệnh trên cho ta tất cả là 7 đồ thị dạng Bar chart tương ứng với 7 loại màu của kim cương lần lượt là ‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’ . Trong mỗi đồ thị có trục hoành là loại kim cương được chia theo biến ‘clarity’ là mức sáng của kim cương bao gồm 8 cột ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’, trục tung là số lượng kim cương theo từng mức sáng.Từ đồ thị ta có thể quan sát được ứng với loại kim cương mang một màu nào đó tại các mức sáng khác nhau có số lượng là bao nhiêu một cách cụ thể

2.8 Đồ thị của các chỉ số cụ thể theo từng biến

2.8.1 Mean (giá trị trung bình) của biến ‘carat’

ntt %>% group_by(cut) %>% summarise(m= mean(carat)) %>%
  ggplot(aes(x = cut,y = m)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = round(m,2)), vjust = 2, color = 'yellow') +
    labs(x = 'Loại', y = 'Mean')

Giải thích : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành là các loại kim cương được chia theo biến ‘cut’ bao gồm 5 loại lần lượt là ‘Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là trung bình độ lớn của biến ‘Carat’ . Cụ thể như sau:

  • Loại kim cương Fair có độ lớn trung bình của biến ’ Carat’ là : 1.05
  • Loại kim cương Good có độ lớn trung bình của biến ’ Carat’ là : 0.85
  • Loại kim cương Very Good có độ lớn trung bình của biến ’ Carat’ là : 0.81
  • Loại kim cương Premium có độ lớn trung bình của biến ’ Carat’ là : 0.89
  • Loại kim cương Ideal có độ lớn trung bình của biến ’ Carat’ là : 0.7 ->Từ đồ thị ta có thể đưa ra nhận xét rằng Loại kim cương Fair có độ lớn trung bình của biến ’ Carat’ là lớn nhất (1.05),Loại kim cương Ideal có độ lớn trung bình của biến ’ Carat’ là nhỏ nhất (0.7)

2.8.2 Median(trung vị) của biến ‘carat’

ntt %>% group_by(cut) %>% summarise(m= median(carat)) %>%
  ggplot(aes(x = cut,y = m)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = round(m,2)), vjust = 2, color = 'yellow') +
    labs(x = 'Loại', y = 'Median')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành là các loại kim cương được chia theo biến ‘cut’ bao gồm 5 loại lần lượt là ‘Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là trung vị độ lớn của biến ‘Carat’ . Cụ thể như sau:

  • Trung vị carat của loại kim cương ’ Fair’ là 1 (50% số kim cương loại Fair có độ lớn carat dưới 1 và 50% còn lại có độ lớn carat lớn hơn 1 )
  • Trung vị carat của loại kim cương ’ Good’ là 0.82 (50% số kim cương loại Good có độ lớn carat dưới 0.82 và 50% còn lại có độ lớn carat lớn hơn 0.82 )
  • Trung vị carat của loại kim cương ’ Very Good’ là 0.71 (50% số kim cương loại Very Good có độ lớn carat dưới 0.71 và 50% còn lại có độ lớn carat lớn hơn 0.71 )
  • Trung vị carat của loại kim cương ‘Premium’ là 0.86 (50% số kim cương loại Premium có độ lớn carat dưới 0.86 và 50% còn lại có độ lớn carat lớn hơn 0.86 )
  • Trung vị carat của loại kim cương ‘Ideal’ là 0.54 (50% số kim cương loại Ideal có độ lớn carat dưới 0.54 và 50% còn lại có độ lớn carat lớn hơn 0.54 ) ->Từ đồ thị ta có thể đưa ra nhận xét rằng Loại kim cương Fair có độ lớn trung vị của biến ’ Carat’ là lớn nhất (1),Loại kim cương Ideal có độ lớn trung vị của biến ’ Carat’ là nhỏ nhất (0.54)

2.8.3 Var(phương sai) của biến ‘carat’

ntt %>% group_by(color) %>% summarise(m= var(carat)) %>%
  ggplot(aes(x = color,y = m)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = round(m,2)), vjust = 2, color = 'yellow') +
    labs(x = 'Màu', y = 'var')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành là các loại kim cương được chia theo biến ‘Color’ bao gồm 7 loại lần lượt là ‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’ trục tung là phương sai của biến ‘Carat’ . Cụ thể như sau:

  • Loại kim cương có màu D có phương sai là 0.13 (độ chênh lệch của kim cương có màu D là 0.13)
  • Loại kim cương có màu E có phương sai là 0.14 (độ chênh lệch của kim cương có màu E là 0.14)
  • Loại kim cương có màu F có phương sai là 0.16 (độ chênh lệch của kim cương có màu F là 0.16)
  • Loại kim cương có màu G có phương sai là 0.19 (độ chênh lệch của kim cương có màu G là 0.19)
  • Loại kim cương có màu H có phương sai là 0.27 (độ chênh lệch của kim cương có màu H là 0.27)
  • Loại kim cương có màu I có phương sai là 0.34 (độ chênh lệch của kim cương có màu I là 0.34)
  • Loại kim cương có màu J có phương sai là 0.35 (độ chênh lệch của kim cương có màu J là 0.35) ->Từ đồ thị ta có thể đưa ra nhận xét rằng Loại kim cương màu J có độ lớn phương sai của biến ’ Carat’ là lớn nhất (0.35),Loại kim cương màu D có độ lớn phương sai của biến ’ Carat’ là nhỏ nhất (0.13)

2.8.4 Mean (giá trị trung bình) của biến ‘price’

ntt %>% group_by(cut) %>% summarise(m= mean(price)) %>%
  ggplot(aes(x = cut,y = m)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = round(m,2)), vjust = 2, color = 'yellow') +
    labs(x = 'Loại', y = 'Mean')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành là các loại kim cương được chia theo biến ‘cut’ bao gồm 5 loại lần lượt là ‘Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là trung bình độ lớn của biến ‘Price’ . Cụ thể như sau:

  • Loại kim cương Fair có độ lớn trung bình của biến ‘Price’ là : 4358.76
  • Loại kim cương Good có độ lớn trung bình của biến ‘Price’ là : 3928.86
  • Loại kim cương Very Good có độ lớn trung bình của biến ‘Price’ là : 3981.76
  • Loại kim cương Premium có độ lớn trung bình của biến ‘Price’ là : 4584.26
  • Loại kim cương Ideal có độ lớn trung bình của biến ‘Price’ là : 3457.54 ->Từ đồ thị ta có thể đưa ra nhận xét rằng Loại kim cương Premium có độ lớn trung bình của biến ‘Price’ là lớn nhất (4584.26),Loại kim cương Ideal có độ lớn trung bình của biến ‘Price’ là nhỏ nhất (3457.54)

2.8.5 Median(trung vị) của biến ‘price’

ntt %>% group_by(cut) %>% summarise(m= median(price)) %>%
  ggplot(aes(x = cut,y = m)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = round(m,2)), vjust = 2, color = 'yellow') +
    labs(x = 'Loại', y = 'Median')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành là các loại kim cương được chia theo biến ‘cut’ bao gồm 5 loại lần lượt là ‘Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là trung vị độ lớn của biến ‘Price’ . Cụ thể như sau:

  • Trung vị Price của loại kim cương ’ Fair’ là 3282 (50% số kim cương loại Fair có độ lớn Price dưới 3282 và 50% còn lại có độ lớn Price lớn hơn 3282 )

  • Trung vị Price của loại kim cương ’ Good’ là 3050.5 (50% số kim cương loại Good có độ lớn Price dưới 3050.5 và 50% còn lại có độ lớn Price lớn hơn 3050.5 )

  • Trung vị Price của loại kim cương ’ Very Good’ là 2648 (50% số kim cương loại Very Good có độ lớn Price dưới 2648 và 50% còn lại có độ lớn Price lớn hơn 2648 )

  • Trung vị Price của loại kim cương ‘Premium’ là 3185 (50% số kim cương loại Premium có độ lớn Price dưới 3185 và 50% còn lại có độ lớn Price lớn hơn 3185)

  • Trung vị Price của loại kim cương ‘Ideal’ là 1810 (50% số kim cương loại Ideal có độ lớn Price dưới 1810 và 50% còn lại có độ lớn Price lớn hơn 1810 )

->Từ đồ thị ta có thể đưa ra nhận xét rằng Loại kim cương Fair có độ lớn trung vị của biến ‘Price’ là lớn nhất (3282),Loại kim cương Ideal có độ lớn trung vị của biến ‘Price’ là nhỏ nhất (1810)

2.8.6 Sd (độ lệch chuẩn) của biến ‘table’

ntt %>% group_by(clarity) %>% summarise(m= sd(table)) %>%
  ggplot(aes(x = clarity,y = m)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = round(m,2)), vjust = 2, color = 'yellow') +
    labs(x = 'Mức sáng', y = 'sd')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành là các loại kim cương được chia theo biến ‘clarity’ bao gồm 8 mức sáng lần lượt là ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’, trục tung là độ lệch chuẩn của biến ‘Table’ . Cụ thể như sau:

  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng I1 là : 2.57
  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng SI2 là : 2.33
  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng SI1 là : 2.25
  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng VS2 là : 2.16
  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng VS1 là : 2.23
  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng VVS2 là : 2.07
  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng VVS1 là : 2.02
  • Độ lệch chuẩn của kim cương về bề mặt kim cương lớn nhất’table’ có mức sáng IF là : 1.98

->Từ đồ thị ta có thể đưa ra nhận xét rằng kim cương có mức sáng I1 có độ lệch chuẩn của biến ‘table’ là lớn nhất (2.57),Loại kim cương có mức sáng IF có độ lớn độ lệch chuẩn của biến ‘table’ là nhỏ nhất (1.98)

2.8.7 sd ( độ lệch chuẩn) của biến ‘depth’

ntt %>% group_by(clarity) %>% summarise(m= sd(depth)) %>%
  ggplot(aes(x = clarity,y = m)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = round(m,2)), vjust = 2, color = 'yellow') +
    labs(x = 'Mức sáng', y = 'sd')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành là các loại kim cương được chia theo biến ‘clarity’ bao gồm 8 mức sáng lần lượt là ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’, trục tung là độ lệch chuẩn của biến ‘Depth’ . Cụ thể như sau:

  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng I1 là : 2.83
  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng SI2 là : 1.67
  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng SI1 là : 1.48
  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng VS2 là : 1.36
  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng VS1 là : 1.3
  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng VVS2 là : 1.17
  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng VVS1 là : 1.08
  • Độ lệch chuẩn của kim cương về chiều cao ‘Depth’ có mức sáng IF là : 1.04

->Từ đồ thị ta có thể đưa ra nhận xét rằng kim cương có mức sáng I1 có độ lệch chuẩn của biến ‘depth’ là lớn nhất (2.83),Loại kim cương có mức sáng IF có độ lớn độ lệch chuẩn của biến ‘depth’ là nhỏ nhất (1.04)

2.9 Đồ thị chỉ cụ thể các chỉ số cụ thể của các viên kim cương theo 2 biến

2.9.1 Biến’cut’ và biến ‘color’

ntt %>% group_by(cut,color) %>% summarise(m = mean(price)) %>%
  ggplot(aes(x = cut,y = m)) +
    geom_col(position = 'dodge') +
    facet_wrap(~color) +
    geom_text(aes(label = round(m))) +
    labs(x = 'Loại', y = 'Số lượng')
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.

GIẢI THÍCH : Câu lệnh trên cho chúng ta tất cả 7 đồ thị Bar Chart ứng với 7 màu sắc của kim cương lần lượt là ‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’. Trong từng đồ thị bao gồm trục hoành là loại kim cương được chia theo biến ‘cut’bao gồm ’Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’ , trung tung là trung bình giá của từng loại kim cương theo từng loại . Nhìn vào đồ thị ta có dễ dàng nhìn thấy được giá trị trung bình về giá của từng loại kim cương theo từng màu cụ thế là bao nhiêu

2.9.2 Biến’clarity’ và biến ‘color’

ntt %>% group_by(color,clarity) %>% summarise(m = median(price)) %>%
  ggplot(aes(x = color,y = m)) +
    geom_col(position = 'dodge') +
    facet_wrap(~clarity) +
    geom_text(aes(label = round(m))) +
    labs(x = 'Màu', y = 'Số lượng')
## `summarise()` has grouped output by 'color'. You can override using the
## `.groups` argument.

GIẢI THÍCH : Câu lệnh trên cho chúng ta tất cả 8 đồ thị Bar Chart ứng với 8 mức sáng của kim cương lần lượt là ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’. Trong từng đồ thị bao gồm trục hoành là loại kim cương được chia theo biến ‘color’bao gồm các màu ’D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’ , trung tung là trung vị giá của từng loại kim cương theo từng màu . Nhìn vào đồ thị ta có dễ dàng nhìn thấy được giá trị trung vị về giá của từng màu kim cương theo từng mức sáng cụ thế là bao nhiêu

2.9.3 Biến’cut’ và biến ‘clarity’

## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.

GIẢI THÍCH : Câu lệnh trên cho chúng ta tất cả 8 đồ thị Bar Chart ứng với 8 mức sáng của kim cương lần lượt là ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’. Trong từng đồ thị bao gồm trục hoành là loại kim cương được chia theo biến ‘clarity’bao gồm ’Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trung tung là phương sai( độ chênh lệch) kim cương theo từng loại . Nhìn vào đồ thị ta có dễ dàng nhìn thấy được giá trị phương sai của biến ‘table’- mặt kim cương lớn nhất theo từng loại kim cương và của từng mức sáng khác nhau

2.10 Đồ thị so sánh cơ bản 2 tính chất của 1 biến qua 1 biến khác

2.10.1 biến ‘color’ qua biến ‘Cut’

ntt <- diamonds
ntt <- ntt %>% group_by(cut, color) %>% summarise(n = n())
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.
ntt %>% ggplot(aes(x = cut, y = n)) +
  geom_col(data = ntt %>% filter(color == 'D'), fill = 'pink') +
  geom_col(data = ntt %>% filter(color == 'J'), fill = 'skyblue')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo biến ‘cut’ bao gồm ‘Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là số lượng của các loại kim cương được chọn . Đồ thị trên biểu diễn số lượng kim cương của 2 màu trong đó biểu diễn cho màu ‘D’ sẽ được biểu diễn bằng màu hồng , biểu diễn cho màu ‘J’ là màu xanh

2.10.2 biến ‘clarity’ qua biến ‘Cut’

ntt <- diamonds
ntt <- ntt %>% group_by(cut, clarity) %>% summarise(n = n())
## `summarise()` has grouped output by 'cut'. You can override using the `.groups`
## argument.
ntt %>% ggplot(aes(x = cut, y = n)) +
  geom_col(data = ntt %>% filter(clarity == 'SI1'), fill = 'pink') +
  geom_col(data = ntt %>% filter(clarity == 'VS2'), fill = 'skyblue')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo biến ‘cut’ bao gồm ‘Fair’,‘Good’,‘Very Good’,‘Premium’,‘Ideal’, trục tung là số lượng của các loại kim cương được chọn . Đồ thị trên biểu diễn số lượng kim cương của 2 loại mức sáng kim cương trong đó mức sáng ‘SI1’ được biểu diễn là màu hồng , ‘VS2’ được biểu diễn là màu xanh

2.10.3 biến ‘clarity’ qua biến ‘color’

ntt <- diamonds
ntt <- ntt %>% group_by(color, clarity) %>% summarise(n = n())
## `summarise()` has grouped output by 'color'. You can override using the
## `.groups` argument.
ntt %>% ggplot(aes(x = color, y = n)) +
  geom_col(data = ntt %>% filter(clarity == 'SI1'), fill = 'pink') +
  geom_col(data = ntt %>% filter(clarity == 'VS2'), fill = 'skyblue')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo biến ‘color’ bao gồm ‘D’,‘E’,‘F’,‘G’,‘H’,‘I’,‘G’, trục tung là số lượng của các loại kim cương được chọn . Đồ thị trên biểu diễn số lượng kim cương của 2 loại mức sáng kim cương trong đó mức sáng ‘SI1’ được biểu diễn là màu hồng , ‘VS2’ được biểu diễn là màu xanh

2.10.4 biến ‘cut’ qua biến ‘clarity’

ntt <- diamonds
ntt <- ntt %>% group_by(clarity,cut) %>% summarise(n = n())
## `summarise()` has grouped output by 'clarity'. You can override using the
## `.groups` argument.
ntt %>% ggplot(aes(x = clarity, y = n)) +
  geom_col(data = ntt %>% filter(cut == 'Fair'), fill = 'pink') +
  geom_col(data = ntt %>% filter(cut == 'Good'), fill = 'skyblue')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo biến ‘clarity’ bao gồm ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’, trục tung là số lượng của các loại kim cương được chọn . Đồ thị trên biểu diễn số lượng kim cương của 2 loại cụ thể là loại ‘Fair’: màu hồng, loại’Good’: màu xanh

2.10.5 biến ‘color’ qua biến ‘clarity’

ntt <- diamonds
ntt <- ntt %>% group_by(clarity,color) %>% summarise(n = n())
## `summarise()` has grouped output by 'clarity'. You can override using the
## `.groups` argument.
ntt %>% ggplot(aes(x = clarity, y = n)) +
  geom_col(data = ntt %>% filter(color == 'I'), fill = 'red') +
  geom_col(data = ntt %>% filter(color == 'J'), fill = 'blue')

GIẢI THÍCH : Câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo biến ‘clarity’ bao gồm ‘I1’,‘SI2’,‘SI1’,‘VS2’,VS1’,VVS2’,‘VVS1’,‘IF’, trục tung là số lượng của các loại kim cương được chọn . Đồ thị trên biểu diễn số lượng kim cương của 2 màu trong đó biểu diễn cho màu ‘I’ sẽ được biểu diễn bằng màu đỏ , biểu diễn cho màu ‘J’ là màu xanh

2.11 Đồ thị chỉ đặc trưng số lượng của các biến theo mức độ từ số liệu của biến khác

2.11.1 Biến ‘cut’ theo biến’carat’

ntt <-  diamonds
ntt <- ntt %>% mutate(carat = cut(carat,5, label = c('rất nhỏ', 'nhỏ','vừa','lớn','rất lớn')))
ntt %>% ggplot(aes(x = carat)) +
   geom_bar(fill = 'sky blue')

GIẢI THÍCH : câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo 5 tiêu chí của chúng ta tự đề ra cho biến ‘carat’ lần lượt là ‘rất nhỏ’,‘nhỏ’,‘vừa’,‘lớn’,‘rất lớn’, trục tung là số lượng của kim cương theo từng tiêu chí đó . Từ đồ thị ta sẽ dễ dàng thấy được số lượng những viên kim cương có độ lớn “carat’ rất nhỏ chiếm phần đa số ,những viên kim cương ‘lớn’,‘rất lớn’ không có

2.11.2 Biến ‘cut’ theo biến’price’

ntt <-  diamonds
ntt <- ntt %>% mutate(price = cut(price,4, label = c('rẻ','trung bình','mắc','rất mắc')))
ntt %>% ggplot(aes(x = price)) +
  geom_bar(fill = 'sky blue')

GIẢI THÍCH : câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo 4 tiêu chí của chúng ta tự đề ra cho biến ‘price’ lần lượt là ‘rẻ’,‘trung bình’,‘mắc’,‘rất mắc’, trục tung là số lượng của kim cương theo từng tiêu chí đó . Từ đồ thị ta sẽ dễ dàng thấy được số lượng những viên kim cương rẻ chiếm phần đa số ,những viên kim cương ‘trung bình’,‘mắc’,‘rất mắc’ ít hơn và giảm dần

2.11.3 Biến ‘cut’ theo biến’table’

ntt <- diamonds 
ntt <- ntt %>% mutate(table = cut(table,3, label = c('nhỏ','vừa','to')))
ntt %>% ggplot(aes(x = table)) +
  geom_bar(fill = 'sky blue')

GIẢI THÍCH : câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo 3 tiêu chí của chúng ta tự đề ra cho biến ‘table’ lần lượt là ‘nhỏ’,‘vừa’,‘to’, trục tung là số lượng của kim cương theo từng tiêu chí đó . Từ đồ thị ta sẽ dễ dàng thấy được số lượng những viên kim cương có độ lớn bề mặt kim cương ’ nhỏ’ chiếm phần đa số ,những viên kim cương có độ lớn bề mặt ’ vừa; chiếm một phần ít , còn lại là bề mặt kim cương ‘to’ thì không có viên nào

2.11.4 Biến ‘cut’ theo biến’depth’

ntt <- diamonds 
ntt <- ntt %>% mutate(depth = cut(depth,3, label = c('ngắn', 'trung bình','dài')))
ntt %>% ggplot(aes(x = depth)) +
  geom_bar(fill = 'sky blue')

GIẢI THÍCH : câu lệnh trên cho ta một đồ thị dạng Bar Chart với trục hoành được chia theo 3 tiêu chí của chúng ta tự đề ra cho biến ‘depth’ lần lượt là ‘ngắn’, ‘trung bình’,‘dài’, trục tung là số lượng của kim cương theo từng tiêu chí đó . Từ đồ thị ta sẽ dễ dàng thấy được số lượng những viên kim cương có chiều cao ở mức ‘trung bình chiếm phần đa số , chỉ có một số ít viên ’dài’