Trình bày dữ liệu bằng biểu đồ Histogram với ggplot2
1. Mục tiêu:
- Kiến thức: Sơ lược các nội dung về lập trình R và sử dụng RStudio, cách biểu diễn dữ liệu qua biểu đồ trong RStudio.
- Kỹ năng: Có kỹ năng lập trình R và sử dụng thành thạo các lệnh cơ bản trong thư viện trực quan dữ liệu ggplot2; áp dụng vào trực quan hóa bộ dữ liệu hoa Iris
2. Biểu đồ và đồ thị thống kê:
Biểu đồ và đồ thị thống kê là các hình vẽ, đường nét hình học dùng để mô tả có tính quy ước các số liệu thống kê. Khác với bảng thống kê, đồ thị hay biểu đồ thống kê sử dụng các số liệu kết hợp với hình vẽ, đường nét hay màu sắc để tóm tắt và trình bày các đặc trưng chủ yếu của hiện tượng nghiên cứu, phản ánh một cách khái quát các đặc điểm về cơ cấu, xu hướng biến động, mối liên hệ, quan hệ so sánh … của hiện tượng cần nghiên cứu.
Vì dùng các hình vẽ, đường nét và màu sắc để biểu hiện các đặc trưng của hiện tượng nên tài liệu thống kê rất sinh động, có sức hấp dẫn lôi cuốn người đọc, giúp cho người xem nhận thức được những biểu hiện của hiện tượng một cách nhanh chóng, từ đó nhận ra được những nội dung chủ yếu của vấn đề nghiên cứu.
3. Những vấn đề chú ý khi xây dựng biểu đồ và đồ thị thống kê:
Yêu cầu của một đồ thị hay biểu đồ thống kê là chính xác, đầy đủ, dễ hiểu và thể hiện tính thẩm mỹ. Do đó, khi xây dựng đồ thị thống kê cần chú ý các điểm sau:
- Lựa chọn đồ thị cho phù hợp với nội dung, tính chất của các số liệu cần diễn đạt. Mỗi loại đồ thị có khả năng diễn đật khác nhau, đồng thời có thể diễn tả nhiều khía cạnh. Vì thế, cần lựa chọn loại đồ thị diễn tả phù hợp nhất, dễ quan sát nhất. Thí dụ: Khi cần mô tả cơ cấu của hiện tượng thì nên dùng đồ thị hình tròn. Ngược lại khi cần biểu diễn biến động của hiện tượng theo thời gian thì nên dùng đồ thị đường gấp khúc hoặc hình cột… .
- Xác định quy mô của đồ thị cho thích hợp. Quy mô của đồ thị được thể hiện qua chiều dài, chiều rộng và mối quan hệ tỷ lệ giữa 2 chiều này. Quy mô thích hợp là tuỳ thuộc vào mục đích sử dụng. Thí dụ, dùng đồ thị trong báo cáo phân tích thì không nên dùng đồ thị quá lớn, nhưng dùng vào tuyên truyền, cổ động thì lại không nên dùng đồ thị quá nhỏ.
- Các thanh đo tỷ lệ cần thống nhất và chính xác.
- Cần ghi số liệu, đơn vị tính, thời gian không gian của hiện tượng nghiên cứu sao cho thích hợp với từng loại đồ thị cụ thể. Đặc biệt cần ghi chú rõ các ký hiệu, màu sắc quy ước được dùng trong đồ thị.
4. Biểu đồ Histogram:
4.1. Khái niệm:
Biểu đồ phân bố tần số (còn được gọi là biểu đồ phân bố mật độ, biểu đồ cột) dùng để đo tần số xuất hiện của một vấn đề nào đó, cho ta thấy rõ hình ảnh sự thay đổi, biến động của một tập dữ liệu. Biểu đồ này do nhà thống kê người pháp, Andre Michel Guerry giới thiệu trong buổi thuyết trình vào năm 1833 để mô tả sự phân tích của ông về số liệu tội phạm theo từng tiêu chí giúp người nghe dễ dàng hình dung vấn đề.
Trong biểu đồ phân bố tần số, trục hoành biểu thị các giá trị đo; trục tung biểu thị số lượng các chi tiết hay số lần xuất hiện; bề rộng của mỗi cột bằng khoảng phân lớp; chiều cao của mỗi cột nói lên số lượng chi tiết (tần số) tương ứng với mỗi phân lớp. Ba đặc trưng quan trọng của biểu đồ phân bố tần số là tâm điểm, độ rộng, độ dốc.
4.2. Ý nghĩa của biểu đồ Histogram:
Cung cấp thông tin trực quan về biến động của quá trình, tạo hình đặc trưng “nhìn thấy được” từ những con số tưởng chừng vô nghĩa. là công cụ hữu ích khi cần phân tích dữ liệu lớn. Thông qua hình dạng phân bố so sánh được các giá trị tiêu chuẩn với phân bố của biểu đồ, tổ chức có thể kiểm tra và đánh giá khả năng của các yếu tố đầu vào, kiểm soát quá trình, phát hiện sai sót.
4.3. Các bước cơ bản để thiết lập biểu đồ phân bố Histogram:
Bước 1: Thu thập giá trị các số liệu. Đếm lượng số liệu \((n). n > 50\) mới tốt.
Bước 2: Tính toán các đặc trưng thống kê.
- Xác định độ rộng của toàn bộ số liệu \(R=X_{max}-X_{min}\)
- Xác định số lớp \((k)\) và độ rộng \((h)\) của một lớp.
- Số lớp (số khoảng) là một số nguyên, thường được ước lượng bằng nhiều công thức khác nhau dựa vào kinh nghiệm và tùy thuộc vào đặc điểm của hiện tượng nghiên cứu. \(k =\sqrt{n}\)
- Độ rộng của một lớp \((h)\): \(h = R/k\), để thuận tiện cho việc tính toán, \(h\) thường được làm tròn số (theo hướng tăng lên) và khi đó số lớp \((k)\) cũng thay đổi theo.
- Xác định Biên độ trên (BĐT) và Biên độ dưới (BĐD) của các lớp:
Lớp đầu tiên. BĐD1 = Xlow Xlow: giá trị thuận tiện nhỏ hơn Xmin một ít.
Xlow = Xmin - h/2; BĐT1 = BĐD1 + h
Lớp thứ hai. BĐD2 = BĐT1; BĐT2 = BĐD2 + h
Tiếp tục như thế cho những lớp tiếp theo cho tới lớp cuối cùng chứa giá trị đo lớn nhất.
- Lập bảng tần suất:
- Tính giá trị trung tâm của từng lớp. Xoi = (BĐDi + BĐTi)/2
- Đếm số dữ liệu xuất hiện trong mỗi lớp.
Bước 3: Vẽ biểu đồ phân bố tần số:
Đánh dấu trục hoành theo thang giá trị số liệu, trục tung theo thang tần số (số lần hoặc phần trăm số lần xuất hiện). Vẽ các cột tương ứng với các giới hạn của lớp, chiều cao của cột tương ứng với tần số lớp.
4.4. Cách đọc biểu đồ phân bố tần số:
Dựa vào dạng phân bố:Biểu đồ phân bố thường có dạng phân bố đối xứng, hình chuông. Chính vì thế, hình dạng, “độ trơn” của biểu đồ được dùng để đánh giá khả năng của quá trình nhằm phát hiện ra những nguyên nhân đặc biệt đang tác động đến quá trình từ đó đưa ra các điều chỉnh, cải tiến cụ thể cho quá trình.
Một số dạng biểu đồ Histogram
5. Xây dựng histogram trên tập dữ liệu IRIS
5.1. Giới thiệu dataset IRIS
Bộ dữ liệu về hoa Iris được thu thập bởi Edgar Anderson – 1 nhà thực vật học người Mỹ - trên bán đảo Gaspé (là một bán đảo dọc theo bờ biển phía nam của sông Saint Lawrence ở Quebec , Canada , mở rộng vào vịnh Saint Lawrence)
Sau đó bộ dữ liệu trên được \(Ronald Aylmer Fisher\) – 1 nhà thống kê người Anh đồng thời là 1 nhà di truyền học rút gọn lại, bỏ đi các thuộc tính mang tính chất mô tả, không đo đạt được giá trị theo số học (như thời điểm gieo trồng, thời điểm nở hoa, màu sắc hoa, tấc độ tăng trưởng, điều kiện ánh sáng, đất nước và độ ẩm,…)
Bộ dữ liệu sau khi được rút gọn bao gồm 5 thuộc tính :
- 4 thuộc tính kiểu số: chiều dài đài hoa, chiều rộng đài hoa, chiều dài cánh hoa, chiều rộng cánh hoa (đơn vị là cm)
- 1 thuộc tính còn lại là tên của loài hoa Iris (có 3 loài tất cả : Iris Setosa, Iris Versicolour, Iris Virginica)
library(dplyr)
library(DT)
str(iris)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
%>% head(10) %>% datatable() iris