Vẽ biểu đồ trong R - Đồ thị Histogram, Boxplot, Scatter Plot, Pie Chart

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

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit

  • Lorem ipsum dolor sit amet

Trang chủ/Kiến thức nghiên cứu/Ngôn ngữ R/Vẽ biểu đồ trong R – Đồ thị Histogram, Boxplot, Scatter Plot, Pie Chart

Blog

  • 01 Tháng 09, 2021

  • 100 views

Vẽ biểu đồ trong R - Đồ thị Histogram, Boxplot, Scatter Plot, Pie Chart

5/5 - (1 bình chọn)

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”)

biểu đồ Scatter Plot
Biểu đồ Scatter Plot

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”)

Biểu đồ  Scatter Plot
Biểu đồ Scatter Plot

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):

image 3
image 4

Kết quả:

biểu đồ Histogram
Biểu đồ Histogram

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)

Biểu đồ Boxplots
Biểu đồ Boxplots

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”))

Biểu đồ Boxplots
Biểu đồ Boxplots

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”))

biểu đồ hình tròn Pie Chart
Biểu đồ hình tròn Pie Chart

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)

image 10

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:

image 11


image 12
Nếu Pie Chart không cần biểu thị tỉ lệ % tương ứng thì chỉ cần gõ:

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

Biểu đồ hình tròn Pie Chart
Biểu đồ hình tròn Pie Chart

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ả).

image 14
Vẽ biểu đồ trong R - Đồ thị Histogram, Boxplot, Scatter Plot, Pie Chart 41
Biểu đồ đường (Line Graph)
Biểu đồ đường (Line Graph)

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:

image 17

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()

biểu đồ Scatter Plot
Biểu đồ Scatter Plot

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)

Biểu đồ Scatter Plot
Biểu đồ Scatter Plot

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()

Biểu đồ Scatter Plot
Biểu đồ Scatter Plot

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)

Vẽ đường hồi quy
Vẽ đường hồi quy

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)

Biểu đồ Histogram
Biểu đồ Histogram

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)

Biểu đồ Histogram
Biểu đồ Histogram

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)

Biểu đồ boxplot
Biểu đồ boxplot

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)

Biểu đồ boxplot
Biểu đồ boxplot

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:

image 27
Biểu đồ boxplot
Biểu đồ boxplot

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.

image 30
Biểu đồ cột
Biểu đồ cột
image 32
Biểu đồ cột
Biểu đồ cột

2.5. Biểu đồ đường

Câu lệnh: ggplot(dung, aes(time, ex)) + geom_line(col = “blue”)

Biểu đồ đường
Biểu đồ đường

Để 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:

image 35
Biểu đồ đường
Biểu đồ đường
image 37
Vẽ biểu đồ trong R - Đồ thị Histogram, Boxplot, Scatter Plot, Pie Chart 42
Biểu đồ đường
Biểu đồ đường
image 39
Vẽ biểu đồ trong R - Đồ thị Histogram, Boxplot, Scatter Plot, Pie Chart 43
Biểu đồ đường
Biểu đồ đường

Ở 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:

image 41
Biểu đồ tròn Pie Chart
Biểu đồ tròn Pie Chart
image 43
Biểu đồ tròn Pie Chart
Biểu đồ tròn Pie Chart

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

Để lại cảm nghĩ của bạn ở đây

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *