Các thư viện sử dụng

library(plotrix) # chp 3D
## Warning: package 'plotrix' was built under R version 4.2.3
library(tidyverse) # cho lenh %>%
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✔ ggplot2 3.5.1     ✔ purrr   0.3.4
## ✔ tibble  3.2.1     ✔ dplyr   1.1.4
## ✔ tidyr   1.2.0     ✔ stringr 1.4.0
## ✔ readr   2.1.3     ✔ forcats 0.5.1
## Warning: package 'ggplot2' was built under R version 4.2.3
## Warning: package 'tibble' was built under R version 4.2.3
## Warning: package 'dplyr' was built under R version 4.2.3
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()

Nhâp dữ liệu

dt <- read.csv('https://math.ued.udn.vn/wp-content/uploads/2024/10/So_lieu.csv')

Biểu đồ tròn 2D. 1.7 và 0.8 là tọa độ đặt nhãn. Ta có thể thay đổi 2 thông số này để đặt nhãn ở vị trí phù hợp.

dt %>% count(Giai_doan_benh) %>% mutate(perc = round(n / nrow(dt),3)*100) ->dt1
nhan=paste(dt1$perc,"%")
pie(x=dt1$perc,labels = nhan,col=rainbow(3),cex=1.4)
par(xpd = TRUE)
legend(1.7, 0.8, inset=.02, legend = dt1$Giai_doan_benh, cex=0.8, fill = rainbow(5))

Biểu đồ 3D

pie3D(x=dt1$perc,labels = nhan,col=rainbow(5),cex=1.4)
par(xpd = TRUE)
legend(1.7, 0.8, inset=.02, legend = dt1$Giai_doan_benh, cex=0.8, fill = rainbow(5))