Chưa có sản phẩm trong giỏ hàng!
-
01 Tháng 09, 2021
-
311 views
Vẽ biểu đồ trong R - Đồ thị Histogram, Boxplot, Scatter Plot, Pie Chart
Chào các độc giả, sau đây MOSL xin phép giới thiệu các bạn cách vẽ biểu đồ trong R bao gồm các đồ thị, biểu đồ Histogram, Boxplot, Scatter, Pie Chart thông dụng trong phần mềm R để các bạn có thể tiến hành vẽ tất cả các loại biểu đồ mà mình mong muốn.
1. Vẽ biểu đồ trong R bằng gói graphics
1.1. Vẽ biểu đồ Scatter Plot trong R
Chúng ta có thể vẽ Scatter Plot với education trên trục X và log(wage) trên trục Y:
Câu lệnh: plot(log(wage) ~ education, data = CPS1988, col = “blue”)

Bạn có thể thay “blue” bằng “pink” nếu thích màu hồng. Thậm chí là bỏ hẳn cả cụm col = “blue” trong dòng lệnh trên.
1.2. Vẽ biểu đồ đường hồi quy trong R
Giả sử chúng ta cần vẽ đường hồi quy cho mô hình ln(wage) = β + β2education trên cùng với Scatter Plot ở trên:
Câu lệnh: abline(lm(data = CPS1988, log(wage) ~ education), col = “red”)

1.3. Vẽ biểu đồ Histogram trong R
Chúng ta có thể vẽ Histogram cho ln(wage) theo 6 cách thức khác nhau (chú ý hiệu ứng của những câu lệnh này):


Kết quả:

1.4. Vẽ biểu đồ Boxplots trong R
Chúng ta có thể tạo các Boxplots cho ln(wage) đồng thời cho cả 4 vùng địa lý khác nhau:
Câu lệnh: boxplot(log(CPS1988$wage) ~ CPS1988$region)

Chúng ta cũng có thể tô màu cho các boxplot này:
Câu lệnh: boxplot(log(CPS1988$wage) ~ CPS1988$region, col = c(“blue”, “sienna”, “palevioletred1”, “green”))

1.5. Vẽ biểu đồ hình tròn Pie Chart trong R
Chúng ta có thể vẽ đồ thị hình bánh (Pie Chart) cho 4 nhóm ứng với 4 khu vực địa lý:
Câu lệnh: pie(table(CPS1988$region), col = c(“pink”, “orange”, “green”, “blue”))

Tương tự chúng ta có thể vẽ Pie Chart cho 2 nhóm ứng với làm thêm hay không với tỉ lệ % tương ứng cho mỗi nhóm. Trước hết chúng ta tìm số người không làm thêm và làm thêm:
Câu lệnh: table(CPS1988$parttime)

Từ đây chúng ta xác định được cụ thể số người không làm thêm và làm thêm. Kế tiếp chúng ta thực hiện các lệnh sau:


Câu lệnh: pie(table(CPS1988$parttime), col = c(“green”, “blue”))

1.6. Vẽ biểu đồ đường trong R
Biểu đồ đường (Line Graph) là một trong những biểu đồ thường được sử dụng phổ biến nhất. Chúng thường được sử dụng để tìm hiểu xu hướng của một biến số theo thời gian.
Để minh họa chúng ta sử dụng bộ số liệu Table13_1.dta về tỉ giá hối đoái (biến ex) giữa đồng USD và EURO từ mùng 4 tháng 1 năm 2000 đến mùng 8 tháng 4 năm 2008 (có 2355 quan sát tất cả).


Chúng ta có thể hiệu chính hình ảnh này đẹp hơn bằng cách đặt nền màu xám đồng thời vẽ những đường thẳng thẳng đứng với giả thiết rằng một năm có 340 phiên giao dịch nhằm tìm hiểu xu hướng biến động của tỉ giá theo từng năm một với giả sử 1 năm có 360 ngày:

Từ đây chúng ta có thể thấy rõ hơn xu hướng biến động của tỉ giá theo từng khoảng thời gian nghiên cứu.
Hiện tại hệ điều hành Window chưa hỗ trợ tiếng Việt cho R nên ở trên chúng ta gõ chữ không dấu.
Nếu máy tính của bạn là Mac hay sử dụng hệ điều hành Linux, Ubuntu thì có thể sử dụng tiếng Việt.
2. Vẽ biểu đồ trong R bằng gói ggplot2
Gói này được sử dụng trong tình huống đòi hỏi những Graphs có chất lượng hình ảnh cao hay các Graph phức tạp. Mục này chúng ta chỉ nghiên cứu một số câu lệnh đơn giản phục vụ cho nghiên cứu kinh tế lượng – thống kê mà thôi.
2.1. Vẽ biểu đồ Scatter Plot
Vẽ Scatter Plot (biểu đồ phân tán) với EDUC trên trục X và WAGE trên trục Y:
Câu lệnh:
library(ggplot2)
ggplot(hello, aes(x = EDUC, y = WAGE)) + geom_point()

Hiệu ứng hình ảnh này là tương đương với các câu lệnh: ggplot(hello, aes(EDUC, WAGE)) + geom_point()
Cho 2 nhóm lao động ứng với 2 nhóm giới tính:
Câu lệnh: ggplot(hello, aes(EDUC, WAGE, colour = MALE)) + geom_point(show.legend = F) +
facet_wrap(~ MALE)

Hay “gộp” cả 2 Scatter Plot trên vào cùng một cửa sổ hiển thị:
Câu lệnh: ggplot(hello, aes(EDUC, WAGE, colour = MALE)) + geom_point()

2.2. Vẽ đường hồi quy
Chúng ta có thể vẽ đường hồi quy cho toàn bộ mẫu nghiên cứu với biến độc lập là WAGE còn biến phụ thuộc là EDUC:
Câu lệnh: ggplot(hello, aes(EDUC, WAGE)) + geom_point() + geom_smooth(method = “lm”, se = FALSE)

2.3. Biểu đồ Histogram
Vẽ Histogram cho biến IQ (chỉ số thông minh IQ) riêng biệt cho hai nhóm giới tính:
Câu lệnh: ggplot(hello, aes(IQ, fill = MALE)) + geom_histogram(show.legend = F) + facet_wrap(~ MALE)

Vẽ cho cả 2 nhóm trên cùng một cửa sổ hiển thị:
Câu lệnh: ggplot(hello, aes(IQ, fill = MALE)) + geom_histogram(alpha = 0.6, binwidth = 5)

2.4. Biểu đồ boxplot
Box plot cho IQ theo hai nhóm giới tính:
Câu lệnh: ggplot(hello, aes(MALE, IQ, colour = MALE)) + geom_boxplot(show.legend = F)

Hoặc có thể vẽ box plot cho IQ theo cả hai biến định tính là giới tính và chủng tộc:
Câu lệnh: ggplot(hello, aes(MALE:BLACK, IQ, colour = MALE:BLACK)) + geom_boxplot(show.legend = F)

Hoặc vẽ box plot cho tất cả các quan sát không phân biệt theo bất kì biến định tính nào:


2.5. Biểu đồ cột
Biểu đồ cột (Bar Graph) là một trong những dạng biểu đồ được sử dụng phổ biến. Đáng chú ý là để vẽ Bar Graph chúng ta có thể sử dụng một trong hai hàm là geom_bar() hoặc geom_col().
Trong mục này chúng ta chỉ sử dụng geom_col() minh họa với bộ số liệu CPS1988 đã biết. Tuy nhiên do cần thực hiện một số biến đổi số liệu nên chúng ta sẽ gọi gói tidyverse – khi gọi gói này thì ggplot2 cũng luôn được tải cùng (và do đó không cần tải thêm ggplot2 nữa). Đồng thời để thành thạo toán tử pipe sẽ được sử dụng liên tục.




2.5. Biểu đồ đường
Câu lệnh: ggplot(dung, aes(time, ex)) + geom_line(col = “blue”)

Để vẽ đồ thị đường với thời gian thực chúng ta trở lại với bộ số liệu các cổ phiếu ở trên:






Ở trên chúng ta đã sử dụng hàm ymd() của gói lubridate để tạo biến thời gian có tên Date dựa trên biến X.DTYYYYMMDD. (vốn có thứ tự là năm, tháng, ngày – tương ứng với ba chữ ymd của hàm ymd()). Ngoài ra với cách vẽ 3 chúng ta cũng đổi tên một số biến số cho graph đẹp và dễ hiểu với lệnh rename() của gói dplyr trước khi vẽ.
2.6. Biểu đồ tròn Pie Chart
Vẽ biểu đồ hình bánh với gói ggplot2 là tương đối phức tạp. Việc đầu tiên là tạo ra một biểu đồ cột rồi sau đó chuyển hóa biểu đồ cột này thành biểu đồ hình bánh:




Có thể thấy hai loại biểu đồ này mang ý nghĩa thông tin như nhau nhưng biểu đồ bánh chiếm không gian trình bày nhiều lại thiết kế phức tạp nên trừ khi không còn cách nào khác (như thông lệ ở Việt Nam vẫn có xu hướng lạm dụng biêu đồ bánh) thì ta nên kể một câu chuyện về số liệu bằng biểu đồ cột chứ không phải biểu đồ hình bánh. Lí do như đã được trình bày ở mục trước.
3. Kết luận
Dưới đây MOSL đã hướng dẫn cho các bạn biết cách vẽ biểu đồ trong R bao gồm các đồ thị, biểu đồ Histogram, Boxplot, Scatter, Pie Chart thông dụng trong phần mềm R.
Cuối bài MOSL xin chúc các bạn học tập và làm việc hiệu quả.
Xem thêm: Dịch vụ chạy R của Mosl.vn
Liên hệ:
Hotline: 0707.33.9698 hoặc Mail: sales@mosl.vn | Fanpage: Mentor Of Số Liệu – Mosl.vn
Tag:
Nguồn: Tác giả Nguyễn Chí Dũng