Thông tin dataset

Bộ dữ liệu diamonds: - price: Giá của viên kim cương (USD)

  • carat: Trọng lượng của viên kim cương (carat)

  • cut: Chất lượng của vết cắt (Fair, Good, Very Good, Excellent, Ideal)

  • color: Màu sắc của viên kim cương

  • clarity: Độ trong của viên kim cương

  • x: Chiều dài của viên kim cương (mm)

  • y: Chiều rộng của viên kim cương (mm)

  • z: Độ sâu của viên kim cương (mm)

  • table: Chiều rộng của đỉnh kim cương so với điểm rộng nhất

  • depth: Tỷ lệ phần trăm độ sâu

Vẽ biểu đồ

Biểu đồ 1 phân loại màu của kim cương

dung %>% group_by(color) %>% summarise(n = n()) %>%
  ggplot(aes(color,n)) +
    geom_col(fill='blue') +
    geom_text(aes(label = n),vjust = 2, color = 'yellow') +
    labs(x = 'Màu', y = 'Số lượng')

Quan sát biểu đồ ta thấy: Màu sắc của các kim cương phân bố không đồng đều Số kim cương không màu chiếm phần lớn số lượng gồm: D, E, F có lần lượt là 6775, 9797, 9542 viên Số kim cương màu G chiếm số lượng lớn nhất với 11292 viên Số kim cương có màu nhưng rất ít( gần như không màu) chiếm phần nhỏ số lượng gồm: H, I, J có lần lượt là 8304, 5422, 2808 viên.

Biểu đồ 2 thể hiện số lượng kim cương theo màu

dung %>% group_by(color) %>% summarise(n=n()) %>%
  ggplot(aes(x = color,y = n)) +
    geom_col(position = 'dodge') +
    geom_text(aes(label = n),vjust = 2, color = 'blue') +
    labs(x = 'Màu sắc', y = 'Số lượng') +
    labs(title = 'Hình 1: Tập hợp các biểu đồ thể hiện số lượng kim cương theo màu')

Quan sát biểu đồ ta thấy: Tỉ trọng giữa các màu của kim cương không đồng đều Cấp độ màu G có số lượng lớn nhất là 11292 viên gấp 4 lần so với cấp độ màu J bé nhất là 2808 viên Cấp độ màu E có 9797 viên Cấp độ màu F, H, D có lần lượt là 9542, 8304, 6775 viên Cấp độ màu I có 5422 viên

Biểu đồ 3 thể hiện trọng lượng của các viên kim cương

Ta sẽ tiến hành mã hóa biến carat của dataset này dựa trên các tứ phân vị để mã hóa thành 4 giá trị: Nhỏ - Vừa - Khá Lớn - Lớn. Sau đó ta vẽ biểu đồ dựa trên số lượng các giá trị vừa mã hóa.

a <- quantile(dung$carat, probs = .25)
b <- quantile(dung$carat, probs = .50)
c <- quantile(dung$carat, probs = .75)

dung$trongluong <- case_when(dung$carat <= a ~ 'Nhỏ', 
                            dung$carat > a & dung$carat <= b ~ 'Vừa', 
                            dung$carat > b & dung$carat <= c ~ 'Khá Lớn', 
                            dung$carat > c ~ 'Lớn')

dung %>% ggplot(aes(x = trongluong)) +
          geom_bar(fill = 'purple') +
          labs(x = 'Trọng lượng', y = 'Số viên kim cương') + labs(title = 'Hình 2.4: Số lượng kim cương theo từng trọng lượng')

Ta có thể thấy, số lượng kim cương ở mỗi trọng lượng gần như bằng nhau, chỉ số viên ở phần có trọng lượng Nhỏ là nhỉnh hơn 3 loại còn lại.

Biểu đồ 4 thể hiện giá trung bình theo chất lượng vết cắt(cut) của viên kim cương

Tương tự ở trên, ta cũng sẽ đánh giá chất lượng vết cắt dựa trên giá trung bình của từng loại.

dung3 <- dung %>% group_by(cut) %>% summarise(avg_price3 = mean(price))

dung3 %>% ggplot(aes(x = cut, y = avg_price3)) + 
          geom_col(fill = 'blue') + 
          geom_text(aes(label = round(avg_price3)),vjust = 2, color = 'green') +
          labs(x = 'Chất lượng vết cắt', y = 'Average Price') + labs(title = 'Hình 2.3: Giá trung bình theo chất lượng vết cắt của viên kim cương')

Ở biểu đồ trên ta thấy có vẻ như mức giá trung bình không chênh lệch nhiều giữa các loạt vết cắt khác nhau của viên kim cương, từ đó ta có thể nói rằng chất lượng cắt không ảnh hưởng quá nhiều đến chất lượng của 1 viên kim cương hay mức giá của nó. ## Biểu đồ 5 thể hiện giá trung bình theo từng loại trọng lượng đã được mã hóa

Từ dữ liệu về biến carat đã được mã hóa ở trên, ta sẽ tiếp tục đánh giá chất lượng của các viên kim cương dựa trên trọng lượng của nó thông qua mức giá trung bình.

dung5 <- dung %>% group_by(trongluong) %>% summarise(avg_price4 = mean(price))

dung5 %>% ggplot(aes(x = trongluong, y = avg_price4)) + 
          geom_col(fill = 'black') + 
          geom_text(aes(label = round(avg_price4)),vjust = 2, color = 'white') +
          labs(x = 'Trọng lượng', y = 'Average Price') + labs(title = 'Hình 2.5: Giá trung bình theo trọng lượng')

Ở biểu đồ này ta có thể thấy rất rõ sự chênh lệch giá trung bình giữa các viên kim cương có trọng lượng khác nhau:

  • Các viên có trọng lượng Lớn có mức giá cao hơn rất nhiều so với 3 loại còn lại, điều đó thể hiện trọng lượng càng nặng thì giá càng cao.

  • Các viên kim cương Nhỏ có mức giá rất thấp.

  • Ta có thể kết luận mức giá của kim cương tỷ lệ thuận với trọng lượng của nó, kim cương càng nặng giá càng cao cũng như càng nhẹ thì giá càng thấp.

Biểu đồ 6 thể hiện độ sâu của các viên kim cương

Tương tự như ở trọng lượng, ta sẽ tiến hành mã hóa biến depth dựa trên tứ phân vị của nó để chia thành 4 giá trị: Thấp - Trung Bình Thấp - Trung Bình - Sâu và sau đó sẽ tiến hành vẽ biểu đồ dựa trên số lượng kim cương các loại.

a1 <- quantile(dung$depth, probs = .25)
a2 <- quantile(dung$depth, probs = .50)
a3 <- quantile(dung$depth, probs = .75)

dung$dosau <- case_when(dung$depth <= a1 ~ 'Thấp', 
                            dung$depth > a1 & dung$depth <= a2 ~ 'Trung bình thấp', 
                            dung$depth > a2 & dung$depth <= a3 ~ 'Trung bình', 
                            dung$depth > a3 ~ 'Sâu')

dung %>% ggplot(aes(x = dosau)) +
          geom_bar(fill = 'orange') +
          labs(x = 'Độ sâu', y = 'Số viên kim cương') + labs(title = 'Hình 2.6: Số lượng kim cương theo từng độ sâu')

Ta có thể thấy số lượng kim cương phân tán đều cho các độ sâu, điều này là hợp lý bởi vì chúng ta mã hóa dữ liệu dựa trên tứ phân vị của biến depth.

Biểu đồ 7 thể hiện giá trung bình theo độ sâu đã được mã hóa

Từ dữ liệu biến depth đã được mã hóa ở trên, ta tiến hành đánh giá chất lượng của kim cương dựa trên độ sâu của nó thông qua mức giá trung bình:

dung6 <- dung %>% group_by(dosau) %>% summarise(avg_price5 = mean(price))

dung6 %>% ggplot(aes(x = dosau, y = avg_price5)) + 
          geom_col(fill = 'red') + 
          geom_text(aes(label = round(avg_price5)),vjust = 2, color = 'white') +
          labs(x = 'Độ Sâu', y = 'Average Price') + labs(title = 'Hình 2.7: Giá trung bình theo độ sâu')

Ở biểu đồ này, ta thấy giá trung bình ở độ sâu SâuThấp cao hơn hẳn 2 độ sâu còn lại.

Biểu đồ 8 thể hiện số lượng kim cương của từng loại màu theo chiều dài

Trước tiên, ta sẽ mã hóa chiều dài (biến x) của viên kim cương dựa trên tứ phân vị của nó như sau:Ngắn - Trung bình - Trung bình khá - Dài. Tiếp đến ta sẽ vẽ biểu đồ thể hiện số lượng kim cương của từng loại màu theo các chiều dài khác nhau.

a4 <- quantile(dung$x, probs = .25)
a5 <- quantile(dung$x, probs = .50)
a6 <- quantile(dung$x, probs = .75)

dung$chieudai <- case_when(dung$x <= a4 ~ 'Ngắn', 
                            dung$x > a4 & dung$x <= a5 ~ 'Trung bình', 
                            dung$x > a5 & dung$x <= a6 ~ 'Trung bình khá', 
                            dung$x > a6 ~ 'Dài')

dung8 <- dung %>% group_by(color, chieudai) %>% summarise(n = n())

dung8 %>% ggplot(aes(x = color,y = n)) +
          geom_col(fill = 'blue') +
          facet_wrap(~chieudai) +
          labs(x = 'Màu', y = 'Số lượng') + labs(title = 'Hình 2.8: Số lượng kim cương của từng màu theo chiều dài')

Ở đây, ta có thể thấy số lượng các loại kim cương chênh lệch khá nhiều, cụ thể như sau:

  • Ở chiều dài Dài, ta có số kim cương màu H chiếm nhiều nhất và màu D chiếm ít nhất

  • Ở chiều dài Ngắn, kim cương màu E chiếm nhiều nhất và màu J chiếm rất ít

  • Ở chiều dài Trung bình, kim cương màu E chiếm nhiều nhất và màu J chiếm rất ít

  • Ở chiều dài Trung bình thấp, kim cương màu F chiếm nhiều nhất và màu J chiếm rất ít

Biểu đồ 9 giá trung bình theo chiều dài và loại màu

Dựa vào dữ liệu chiều dài đã được mã hóa ở trên, ta sẽ tiến hành đánh giá chất lượng kim cương theo chiều dài và loại màu thông qua giá trung bình.

dung9 <- dung %>% group_by(chieudai,color) %>% summarise(avg_price6 = mean(price))

dung9 %>% ggplot(aes(x = color, y = avg_price6)) +
          geom_col(fill = 'yellow') +
          facet_wrap(~chieudai) +
          geom_text(aes(label = round(avg_price6)), vjust = 0.5, color = 'blue') +
          labs(x = 'Màu', y = 'Average Price') + labs(title = 'Hình 2.9: Giá trung bình của từng màu theo chiều dài')

Từ biểu đồ, ta có thể thấy được ở mức chiều dài Dài kim cương có giá trung bình cao hơn rất nhiều so với các chiều dài còn lại Và ở đây ta có thể thấy rõ màu của các loại kim cương không ảnh hưởng nhiều đến giá của nó, mức giá trung bình giữa các màu chênh lệch nhau không lớn.

Biểu đồ 10 thể hiện số lượng theo trọng lượng của kim cương và chất lượng vết cắt

Từ dữ liệu của biến carat đã được mã hóa ở trên, ta kết hợp cùng với biến cut để tạo nên biểu đồ thể hiện số lượng của từng loại trọng lượng và chất lượng vết cắt.

dung10 <- dung %>% group_by(trongluong, cut) %>% summarise(n1 = n())

dung10 %>% ggplot(aes(x = cut,y = n1)) +
          geom_col(data = dung10 %>% filter(trongluong == 'Nhỏ'), fill = 'red') +
          geom_col(data = dung10 %>% filter(trongluong == 'Vừa'), fill = 'blue') +
          geom_col(data = dung10 %>% filter(trongluong == 'Khá Lớn'), fill = 'yellow') +
           geom_col(data = dung10 %>% filter(trongluong == 'Lớn'), fill = 'pink') +
          labs(x = 'Chất lượng vết cắt', y = 'Số lượng') + labs(title = 'Hình 2.10: Số lượng kim cương theo trọng lượng của từng chất lượng vết cắt')

Theo biểu đồ trên, ta thấy kim cương có trọng lượng lớn hầu như chiếm nhiều nhất ở tất cả các loại cut.

Biểu đồ 11 thể hiện số lượng kim cương theo mức giá

Từ biến price ta sẽ chia nó thành 5 giá trị tương ứng với giá của nó như sau: Rất Rẻ - Rẻ - Trung bình - Đắt - Rất Đắt, từ đó ta sẽ tiến hành vẽ biểu đồ thể hiện số lượng kim cương theo từng giá trị đã được mã hóa.

dung <- dung %>% mutate(price.coded = case_when(
                        price < 500 ~ 'Rất rẻ',
                        price >= 500 & price < 1000 ~ 'Rẻ', 
                        price >=1000 & price <2000 ~ 'Trung bình',
                        price >=2000 & price <3000 ~ 'Đắt',
                        price >= 3000 ~ 'Rất Đắt'))

dung11 <- dung %>% group_by(price.coded) %>% summarise(n_price = n())

dung11 %>% ggplot(aes(x = price.coded, y = n_price)) +
          geom_col(fill = 'blue') +
          geom_text(aes(label = n_price), vjust = 2, color = 'white')+
          labs(title = 'Hình 2.11: Số lượng kim cương theo giá', x = 'Price', y = 'Số lượng')

Ta dễ dàng nhận xét được rằng đa số viên kim cương được thống kê trong dataset này có mức giá đắt là trên 3000 USD với 23606 viên kim cương, và lớn hơn rất nhiều so với 1729 viên kim cương có giá nhỏ hơn 500 USD.

Biểu đồ 12 thể hiện mức giá theo chiều dài của viên kim cương

Từ các dữ liệu giá và chiều dài của viên kim cương đã được mã hóa, ta tiến hành đếm số lượng các viên kim cương theo từng chiều dài và mức giá để có thể thấy được mối quan hệ của chiều dài kim cương với giá của nó.

dung12 <- dung %>% group_by(chieudai, price.coded) %>% summarise(n12 = n())

dung12 %>% ggplot(aes(x = price.coded, y = n12)) +
          geom_col(fill = 'pink') +
          facet_wrap(~chieudai) +
          geom_text(aes(label = n12), vjust = 0.5, color = 'black')+
          labs(title = 'Hình 2.12: Số lượng kim cương theo chiều dài và mức giá', x = 'Mức giá', y = 'Số lượng')

Từ 4 biểu đồ trên, ta có thể kết luận rằng chiều dài của kim cương tỷ lệ thuận với giá của nó, kim cương càng dài giá càng đắt,và những viên kim cương dài hầu như không có sự xuất hiện của mức giá nhỏ hơn 2000.

Biểu đồ 13 giá theo từng trọng lượng

Từ dữ liệu biến carat và biến price đã được mã hóa ở trên, ta tiến hành đánh giá mức giá của viên kim cương theo từng trọng lượng khác nhau bằng cách đếm số viên kim cương theo trọng lượng và mức giá.

dung13 <- dung %>% group_by(trongluong, price.coded) %>% summarise(n13 = n())

dung13 %>% ggplot(aes(x = price.coded, y = n13)) +
          geom_col(fill = 'black') +
          facet_wrap(~trongluong) +
          geom_text(aes(label = n13), vjust = 0.5, color = 'pink')+
          labs(title = 'Hình 2.13: Số lượng kim cương theo trọng lượng và mức giá', x = 'Mức giá', y = 'Số lượng')

Từ biểu đồ trên, ta thấy được những viên kim cương có mức giá rất đắt(lớn hơn 3000) thường sẽ là những viên kim cương có trọng lượng lớn, ngược lại những viên kim cương có mức giá rẻ,rất rẻ và trung bình thì sẽ thường là những viên có kích cỡ nhỏ và vừa.

Biểu đồ 14 Đếm số viên kim cương theo chiều rộng (biến y)

Như các cách ở trên, ta dễ dàng tạo được 1 biểu đồ số lượng viên kim cương theo chiều rộng bằng cách mã hóa dữ liệu của biến này theo các giá trị như sau:Nhỏ - Vừa - Rộng. Sau đó sẽ đếm số kim cương theo từng chiều rộng khác nhau.

dung$chieurong <- case_when(dung$y < 5.5 ~ 'Nhỏ', dung$y >=5.5 & dung$y < 6.5 ~ 'Vừa', dung$y >= 6.5 ~ 'Rộng')

dung14 <- dung %>% group_by(chieurong) %>% summarise(n14 = n())

dung14 %>% ggplot(aes(x = chieurong, y = n14)) +
          geom_col(fill = 'orange') +
          geom_text(aes(label = n14), vjust = 2, color = 'red')+
          labs(title = 'Hình 2.14: Số lượng kim cương theo chiều rộng', x = 'Chiều rộng', y = 'Số lượng')

Vậy ta có thể thấy, đa số viên kim cương là nhỏ (chiều rộng nhỏ hơn 5.5mm).

Biểu đồ 15 Đếm số kim cương theo biến table(Chiều rộng của đỉnh kim cương so với điểm rộng nhất hay còn gọi là mặt bàn)

Ta sẽ tiến hành mã hóa dữ liệu biến table thành các giá trị character như sau: Mặt bàn hẹp - Mặt bàn trung bình - Mặt bàn rộng. Và sau đó sẽ đếm số kim cương theo độ rộng của mặt bàn.

dung$matban <- case_when(dung$table <= 55 ~ 'Mặt bàn hẹp', dung$table >55 & dung$table <= 60 ~ 'Mặt bàn trung bình', dung$table > 60 ~ 'Mặt bàn rộng')

dung15 <- dung %>% group_by(matban) %>% summarise(n15 = n())

dung15 %>% ggplot(aes(x = matban, y = n15)) +
          geom_col(fill = 'green') +
          geom_text(aes(label = n15), vjust = 2, color = 'blue')+
          labs(title = 'Hình 2.15: Số lượng kim cương theo độ rộng của mặt bàn', x = 'Mặt bàn', y = 'Số lượng')

Các viên kim cương trong dataset này đa số có mặt bàn trung bình (table lớn hơn 55 và nhỏ hơn 60).

Biểu đồ 16 đánh giá chất lượng kim cương theo chiều rộng thông qua mức giá trung bình.

Ta tiến hành tính giá trị trung bình của biến price theo dữ liệu biến y(chiều rộng) đã được mã hóa ở trên và vẽ biểu đồ thể hiện mức giá trung bình theo từng chiều rộng để có thể đánh giá chất lượng kim cương của từng độ rộng khác nhau.

dung16 <- dung %>% group_by(chieurong) %>% summarise(avg_price15= mean(price))

dung16 %>% ggplot(aes(x = chieurong, y = avg_price15))+
          geom_col(fill = 'green') +
          geom_text(aes(label = round(avg_price15)), vjust = 2, color ='white') +
          labs(title = 'Hình 2.16: Giá trung bình của kim cương theo chiều rộng', x = 'Chiều rộng', y = 'Average Price')

Từ biểu đồ 2.16, ta dễ dàng nhận ra chiều rộng cũng sẽ tỷ lệ thuận với giá của viên kim cương. Những viên kim cương có chiều rộng lớn hơn 6.5mm có giá cao hơn rất nhiều so với những viên kim cương khác.

Biểu đồ 17 đánh giá chất lượng kim cương theo độ rộng mặt bàn thông qua mức giá trung bình.

Ta tiến hành tính giá trị trung bình của biến price theo dữ liệu biến table(độ rộng mặt bàn) đã được mã hóa ở trên và vẽ biểu đồ thể hiện mức giá trung bình theo từng loại mặt bàn để có thể đánh giá chất lượng kim cương của từng loại khác nhau.

dung16 <- dung %>% group_by(matban) %>% summarise(avg_price16= mean(price))

dung16 %>% ggplot(aes(x = matban, y = avg_price16))+
          geom_col(fill = 'purple') +
          geom_text(aes(label = round(avg_price16)), vjust = 2, color ='white') +
          labs(title = 'Hình 2.16: Giá trung bình của kim cương theo độ rộng mặt bàn', x = 'Độ rộng mặt bàn', y = 'Average Price')

Từ biểu đồ 2.16, ta có thể thấy mức giá trung bình không chênh lệch nhiều giữa các độ rộng mặt bàn khác nhau nên có thể đưa ra 1 kết luận chủ quan rằng độ rộng mặt bàn không ảnh hưởng nhiều đến giá trị của viên kim cương.

Biểu đồ 18 đánh giá chất lượng của kim cương màu loại D thông qua trọng lượng.

Đầu tiên, ta sẽ tiến hành rút trích dữ liệu các viên kim cương có màu loại D, sao đó từ các biến trongluong được mã hóa từ carat và biến price.coded được mã hóa từ biến price ta sẽ thực hiện vẽ biểu đồ đếm số lượng các viên kim cương để có thể đánh giá chất lượng của viên kim cương màu D dựa trên trọng lượng của chúng

dung17 <- dung %>% filter(color == 'D') %>%
                group_by(trongluong,price.coded) %>%
                summarise(n17 = n())

dung17 %>% ggplot(aes(x = price.coded, y = n17)) + 
          geom_col(fill = 'black') +
          facet_wrap(~trongluong) +
          geom_text(aes(label = n17),vjust = 0.5, color = 'red')+
          labs(title = 'Hình 2.17: Mức giá của kim cương màu loại D theo trọng lượng', x = 'Mức giá', y = 'Số lượng')

Ở các viên kim cương màu loại D, giá trị gần như sẽ phụ thuộc vào trọng lượng của viên kim cương đó, trọng lượng càng lớn giá càng đắt, trọng lượng càng nhỏ giá càng rẻ. Điều này là hợp lý vì ở biểu đồ 2.13 đã chứng minh giá trị của viên kim cương tỷ lệ thuận với trọng lượng của nó.

Biểu đồ 19 ảnh hưởng của chất lượng vết cắt(cut) đến giá trị của kim cương màu loại E dựa trên mức giá trung bình.

Ta rút trích dữ liệu các viên kim cương có màu loại E, sau đó sẽ tính mức giá trung bình của các viên kim cương này theo biến cut để có thể đánh giá được ảnh hưởng của chất lượng vết cắt đến giá trị của kim cương màu loại E.

dung18 <- dung %>% filter(color == 'E') %>%
                group_by(cut) %>%
                summarise(avg_price18 = mean(price))

dung18 %>% ggplot(aes(x = cut, y = avg_price18)) + 
          geom_col(fill = 'grey') +         
       geom_text(aes(label = round(avg_price18)),vjust = 2, color = 'brown')+
          labs(title = 'Hình 2.18: Mức giá trung bình của kim cương màu loại E theo chất lượng vết cắt', x = 'Chất lượng vết cắt', y = 'Average Price')

Nhìn chung, mức giá trung bình của kim cương loại E theo chất lượng vết cắt phân bố không khác nhiều so với mức giá trung bình trên toàn bộ kim cương theo chất lượng vết cắt (biểu đồ 2.3). Có 1 điểm khác nhỏ là ở kim cương loại E, chất lượng Fair có giá trị cao nhất, điều này khác so với trên toàn bộ kim cương thì chất lượng Premium có giá trị cao nhất.

Biểu đồ 20 ảnh hưởng của độ trong(clarity) đến giá trị của kim cương màu loại F dựa trên mức giá.

Ta rút trích dữ liệu các viên kim cương có màu loại F, sau đó sẽ tính số lượng của các viên kim cương này theo biến clarity có mức giá như thế nào để có thể đánh giá được ảnh hưởng của độ trong đến giá trị của kim cương màu loại F.

dung19 <- dung %>% filter(color == 'F') %>%
                group_by(clarity,price.coded) %>%
                summarise(n19 = n())

dung19 %>% ggplot(aes(x = price.coded, y = n19)) + 
          geom_col(fill = 'brown') +       
          facet_wrap(~clarity) +
          labs(title = 'Hình 2.19: Mức giá của kim cương màu F theo độ trong', x = 'Mức giá', y = 'Số lượng')

Ở biểu đồ 2.19, ta có thể thấy những viên kim cương màu loại E có mức giá đắt và rất đắt tập trung chủ yếu ở độ trong SI1 và SI2, điều này là hợp lí bởi vì ở biểu đồ 2.2 khi Biểu đồ mức giá trung bình của từng độ trong thì SI1 và SI2 là 2 nhóm độ trong dẫn đầu ở giá. Vậy ta có thể kết luận rằng mức giá sẽ giảm dần từ SI2 - SI1 - VS2 - VS1 - VVS2 - VVS1 - IF I1

Biểu đồ 21 tác động của chiều rộng kim cương đến giá của nó ở các viên kim cương loại G

Ta rút trích dữ liệu các viên kim cương có màu loại G, sau đó sẽ tính số lượng của các viên kim cương này theo biến y(chiều rộng) đã được mã hóa có mức giá như thế nào để có thể đánh giá được ảnh hưởng của chiều rộng đến giá trị của kim cương màu loại G.

dung20 <- dung %>% filter(color == 'G') %>%
                group_by(chieurong,price.coded) %>%
                summarise(n20 = n())

dung20 %>% ggplot(aes(x = price.coded, y = n20)) + 
          geom_col(fill = 'pink') +       
          facet_wrap(~chieurong) +
          geom_text(aes(label = n20),vjust = 0.5, color = 'blue')+ 
          labs(title = 'Hình 2.20: Mức giá của kim cương màu G theo chiều rộng', x = 'Mức giá', y = 'Số lượng')

Từ hình 2.20, ta có thể thấy mức giá đắt và rất đắt tập trung chủ yếu ở các kim cương có độ rộng là rộng và vừa, còn các viên kim cương nhỏ sẽ có giá từ rất rẻ đến trung bình như vậy mức phân phối giá của kim cương loại G dường như không khác so với tổng thể.

Đếm số 22 viên kim cương có trọng lượng Vừa theo từng chiều dài khác nhau

Ta rút trích dữ liệu các viên kim cương có trọng lượng Vừa được mã hóa từ biến carat ở trên, sau đó sẽ tiến hành vẽ biểu đồ để có thể thấy được số lượng kim cương có trọng lượng ở khoảng này theo từng chiều dài khác nhau.

dung21 <- dung %>% filter(trongluong == 'Vừa') %>%
                group_by(chieudai) %>%
                summarise(n21 = n())
dung21 %>% ggplot(aes(x=chieudai, y = n21))+
          geom_col(fill = 'green') +       
          geom_text(aes(label = n21),vjust = 0.5, color = 'blue')+ 
          labs(title = 'Hình 2.21: Số lượng kim cương có trọng lượng vừa theo từng chiều dài', x = 'Chiều dài', y = 'Số lượng')

Ta có thể thấy rõ ở những viên kim cương có trọng lượng vừa thì chiều dài trung bình chiếm đa số, các chiều dài còn lại rất ít.

Biểu đồ 23 Đếm số viên kim cương có trọng lượng Khá Lớn theo từng chiều dài khác nhau

Ta rút trích dữ liệu các viên kim cương có trọng lượng Khá Lớn được mã hóa từ biến carat ở trên, sau đó sẽ tiến hành vẽ biểu đồ để có thể thấy được số lượng kim cương có trọng lượng ở khoảng này theo từng chiều dài khác nhau.

dung22 <- dung %>% filter(trongluong == 'Khá Lớn') %>%
                group_by(chieudai) %>%
                summarise(n22 = n())
dung22 %>% ggplot(aes(x=chieudai, y = n22))+
          geom_col(fill = 'red') +       
          geom_text(aes(label = n22),vjust = 0.5, color = 'blue')+ 
          labs(title = 'Hình 2.22: Số lượng kim cương có trọng lượng Khá lớn theo từng chiều dài', x = 'Chiều dài', y = 'Số lượng')

Ở các viên kim cương có trọng lượng khá lớn ta dễ dàng thấy được nó tập trung chủ yếu là các viên kim cương có chiều dài trung bình khá, các chiều dài còn lại chỉ chiếm 1 số ít.

Biểu đồ 24 Đếm số viên kim cương có trọng lượng Lớn theo từng chiều dài khác nhau

Ta rút trích dữ liệu các viên kim cương có trọng lượng Lớn được mã hóa từ biến carat ở trên, sau đó sẽ tiến hành vẽ biểu đồ để có thể thấy được số lượng kim cương có trọng lượng ở khoảng này theo từng chiều dài khác nhau.

dung23 <- dung %>% filter(trongluong == 'Lớn') %>%
                group_by(chieudai) %>%
                summarise(n23 = n())
dung23 %>% ggplot(aes(x=chieudai, y = n23))+
          geom_col(fill = 'yellow') +       
          geom_text(aes(label = n23),vjust = 0.5, color = 'blue')+ 
          labs(title = 'Hình 2.23: Số lượng kim cương có trọng lượng lớn theo từng chiều dài', x = 'Chiều dài', y = 'Số lượng')

Ở các viên kim cương có trọng lượng lớn ta dễ dàng thấy được nó tập trung chủ yếu là các viên kim cương có chiều dài dài, các chiều dài còn lại chỉ chiếm 1 số ít và đặc biệt là ở các viên kim cương này không có chiều dài trung bình

Biểu đồ 25 sự ảnh hưởng của mặt bàn đến giá trị các viên kim cương có giá rất đắt

Từ biến matban được mã hóa từ table và biến price.coded được mã hóa từ price, ta tiến hành rút trích các dữ liệu của kim cương có giá rất đắt và đếm số kim cương có giá này theo từng độ rộng của mặt bàn khác nhau, từ đó có thể đánh giá sự tác động của độ rộng mặt bàn đến giá trị kim cương.

dung24 <- dung %>% filter(price.coded == 'Rất Đắt') %>%
                group_by(matban) %>%
                summarise(n24 = n())
dung24 %>% ggplot(aes(x=matban, y = n24))+
          geom_col(fill = 'black') +       
          geom_text(aes(label = n24),vjust = 0.5, color = 'pink')+ 
          labs(title = 'Hình 2.24: Số lượng kim cương có giá rất đắt theo từng độ rộng mặt bàn', x = 'Độ rộng mặt bàn', y = 'Số lượng')

Biểu đồ 2.24 có sự chênh lệch khá rõ rệt, điều này cho thấy các viên kim cương có mặt bàn trung bình thì thường sẽ có giá rất đắt, 1 số ít viên kim cương có mặt bàn hẹp và rộng thì cũng có giá này.

Biểu đồ 26 sự ảnh hưởng của mặt bàn đến giá trị các viên kim cương có giá trung bình

Từ biến matban được mã hóa từ table và biến price.coded được mã hóa từ price, ta tiến hành rút trích các dữ liệu của kim cương có giá trung bình và đếm số kim cương có giá này theo từng độ rộng của mặt bàn khác nhau, từ đó có thể đánh giá sự tác động của độ rộng mặt bàn đến giá trị kim cương.

dung25 <- dung %>% filter(price.coded == 'Trung bình') %>%
                group_by(matban) %>%
                summarise(n25 = n())
dung25 %>% ggplot(aes(x=matban, y = n25))+
          geom_col(fill = 'purple') +       
          geom_text(aes(label = n25),vjust = 0.5, color = 'pink')+ 
          labs(title = 'Hình 2.25: Số lượng kim cương có giá trung bình theo từng độ rộng mặt bàn', x = 'Độ rộng mặt bàn', y = 'Số lượng')

Biểu đồ 2.24 có sự chênh lệch khá rõ rệt, điều này cho thấy các viên kim cương có mặt bàn trung bình thì thường sẽ có giá trung bình, 1 số ít viên kim cương có mặt bàn hẹp và rộng thì cũng có giá này.

Biểu đồ 27 sự ảnh hưởng của mặt bàn đến giá trị các viên kim cương có giá rẻ

Từ biến matban được mã hóa từ table và biến price.coded được mã hóa từ price, ta tiến hành rút trích các dữ liệu của kim cương có giá rẻ và đếm số kim cương có giá này theo từng độ rộng của mặt bàn khác nhau, từ đó có thể đánh giá sự tác động của độ rộng mặt bàn đến giá trị kim cương.

dung26 <- dung %>% filter(price.coded == 'Rẻ') %>%
                group_by(matban) %>%
                summarise(n26 = n())
dung26 %>% ggplot(aes(x=matban, y = n26))+
          geom_col(fill = 'green') +       
          geom_text(aes(label = n26),vjust = 0.5, color = 'pink')+ 
          labs(title = 'Hình 2.26: Số lượng kim cương có giá rẻ theo từng độ rộng mặt bàn', x = 'Độ rộng mặt bàn', y = 'Số lượng')

Ta có thể thấy ở các viên kim cương có giá rẻ thì mặt bàn trung bình chiếm đa số tiếp đến là mặt bàn hẹp và mặt bàn rộng.

Biểu đồ 28 sự tác động của chất lượng vết cắt Fair đến giá của kim cương

Từ dữ liệu biến cut ta sẽ rút trích các viên kim cương có chất lượng vết cắt Fair, sau đó sẽ đếm số lượng kim cương theo biến price.coded

dung27 <- dung %>% filter(cut == 'Fair') %>%
                group_by(price.coded) %>%
                summarise(n27 = n())
dung27 %>% ggplot(aes(x=price.coded, y = n27))+
          geom_col(fill = 'blue') +       
          geom_text(aes(label = n27),vjust = 0.5, color = 'pink')+ 
          labs(title = 'Hình 2.27: Số lượng kim cương có chất lượng vết cắt **Fair** theo các mức giá', x = 'Mức giá', y = 'Số lượng')

Ta dễ dàng thấy đối với các viên kim cương có chất lượng vết cắt Fair thì đa số nó đều có giá rất đắt, 1 số ít viên kim cương có các mức giá còn lại.

Biểu đồ 29 sự tác động của chất lượng vết cắt Ideal đến giá của kim cương

Từ dữ liệu biến cut ta sẽ rút trích các viên kim cương có chất lượng vết cắt Ideal, sau đó sẽ đếm số lượng kim cương theo biến price.coded

dung28 <- dung %>% filter(cut == 'Ideal') %>%
                group_by(price.coded) %>%
                summarise(n28 = n())
dung28 %>% ggplot(aes(x=price.coded, y = n28))+
          geom_col(fill = 'brown') +       
          geom_text(aes(label = n28),vjust = 0.5, color = 'pink')+ 
          labs(title = 'Hình 2.28: Số lượng kim cương có chất lượng vết cắt **Ideal** theo các mức giá', x = 'Mức giá', y = 'Số lượng')

Ở các viên kim cương có chất lượng vết cắt Ideal, giá trị của nó phân bố đa dạng hơn, nhưng chủ yếu vẫn là các viên kim cương có giá rất đắt và chỉ có 1 số ít có giá rất rẻ.

Biểu đồ 30 sự tác động của chất lượng vết cắt Good đến giá của kim cương

Từ dữ liệu biến cut ta sẽ rút trích các viên kim cương có chất lượng vết cắt Good, sau đó sẽ đếm số lượng kim cương theo biến price.coded

dung29 <- dung %>% filter(cut == 'Good') %>%
                group_by(price.coded) %>%
                summarise(n29 = n())
dung29 %>% ggplot(aes(x=price.coded, y = n29))+
          geom_col(fill = 'green') +       
          geom_text(aes(label = n29),vjust = 0.5, color = 'pink')+ 
          labs(title = 'Hình 2.29: Số lượng kim cương có chất lượng vết cắt **Good** theo các mức giá', x = 'Mức giá', y = 'Số lượng')

Ở các viên kim cương có chất lượng vết cắt Good thì có giá chủ yếu vẫn là mức rất đắt.