CÁC PHÒNG CÁC KHOA
Liên kết |
Thiết kế biểu đồ bằng R (Phần 2: Các dạng biều đồ (gói ggplot2))13:57:00 09/12/2016
Chỉ thiết kế dạng “thô”. Các phần hiệu chỉnh theo phần 1.
# Sắp xếp lại dữ liệu > table(gender) gender F M 862 355 # Tạo bộ dữ liệu mới gồm 355 nam và 862 nữ. > q=data.frame(nhom=c("F","M"),SL=c(862,355)) > q nhom SL 1 F 862 2 M 355 > p=ggplot(q,aes(x="",y=SL,fill=nhom)) > p+geom_bar(width=1) + coord_polar("y")
# Trung bình tỷ trọng mỡ theo giới tính > p=ggplot(du,aes(x=gender,y=pcfat,fill=gender)) > p+stat_summary(fun.y="mean",geom="bar")
# Phân bố lượng mỡ cơ thể chung cho 2 giới > p=ggplot(du,aes(x=fat)) > p+geom_histogram() >p+geom_histogram(aes(y=..density..))+geom_density(col="red") # Phân bố tỷ trọng mỡ theo giới. > p=ggplot(du, aes(x = pcfat, fill = gender)) > p+geom_density(alpha = 0.5) p+geom_histogram(alpha = 0.7)
# Xác suất tích lũy tỷ trọng mỡ theo giới > cdf <- ggplot(du, aes(x=pcfat)) + stat_ecdf(aes(colour=gender),xlim=c(5,60)) > cdf
5. Biểu đồ hộp (boxplot) > p=ggplot(du, aes(y = pcfat, x= gender)) > p+geom_boxplot() # Xoay ngang biểu đồ. > p+geom_boxplot()+coord_flip() # Đôi khi muốn diễn tả số liệu theo nhóm với một biến liên tục nào đó ví dụ như muốn xem tỷ trọng chất béo theo tuổi và giới tính. Biếu đồ boxplot cũng là một công cụ trực quan có ích. (từ 40 tuổi trở đi) > p=ggplot(t, aes(y = pcfat, x= factor(age),fill=gender)) > p+geom_boxplot()
# Biểu đồ loại này thường diễn tả số liệu theo thời gian nên tạo ra bộ số liệu dưới đây bằng R >q=data.frame(nam=c(2013,2014,2015,2016),SR=c(45,35,50,18),SXH=c(20,15,8,33)) > q nam SR SXH 1 2013 45 20 2 2014 35 15 3 2015 50 8 4 2016 18 33 > p=ggplot(q, aes(x= nam))) > p+geom_line(aes(y=SR)) >p+geom_line(aes(y=SR))+geom_line(aes(y=SXH),linetype="dashed")+labs(x="Thời gian", y="Số lượng")
# Dùng gói sciplot nếu chưa cài đặt thì cài đặt theo lệnh sau: > install.packages(“sciplot”) > library(sciplot) >bargraph.CI(gender,age,col=c("red","blue"),ylim=c(0,40)) >lineplot.CI(bmi,pcfat,gender,legene=F,col=c("red","blue"))
# Dùng gói psych. Gói này ngoài thiết kế biểu đồ đa biến đẹp còn là công cụ hữu ích thống kê dữ liệu liên tục theo nhóm như ví dụ dưới đây. Nếu chưa cài đặt dùng lệnh >Install.packages(“pcych”) >library(psych) > describe.by(du,gender,range=F) group: F vars n mean sd skew kurtosis se id 1 862 637.79 362.05 -0.07 -1.25 12.33 gender* 2 862 1.00 0.00 NaN NaN 0.00 height 3 862 153.29 5.55 -0.08 0.09 0.19 weight 4 862 52.31 7.72 0.60 1.32 0.26 bmi 5 862 22.26 3.05 0.66 1.32 0.10 age 6 862 48.57 16.41 -0.09 -0.64 0.56 WBBMC 7 862 1599.24 292.83 -0.10 0.02 9.97 wbbmd 8 862 0.99 0.11 -0.17 -0.11 0.00 fat 9 862 18239.79 4954.19 0.52 0.59 168.74 lean 10 862 32045.19 3966.37 0.79 2.14 135.10 pcfat 11 862 34.67 5.19 -0.26 0.33 0.18 ------------------------------------------------------------ group: M vars n mean sd skew kurtosis se id 1 355 558.02 329.06 0.13 -1.04 17.46 gender* 2 355 2.00 0.00 NaN NaN 0.00 height 3 355 165.06 6.73 0.05 0.16 0.36 weight 4 355 62.02 9.59 0.35 0.56 0.51 bmi 5 355 22.73 3.04 0.23 0.26 0.16 age 6 355 43.70 18.79 0.26 -0.93 1.00 WBBMC 7 355 2030.08 336.28 0.18 -0.02 17.85 wbbmd 8 355 1.06 0.10 0.07 -0.33 0.01 fat 9 355 14978.39 5113.41 0.32 0.11 271.39 lean 10 355 43762.40 5819.02 0.13 0.22 308.84 pcfat 11 355 24.16 5.76 -0.23 -0.17 0.31 # Biểu đồ tương quan giữa tỷ trọng mỡ cơ thể, khôi lượng cơ, chỉ số khối cơ thể và tuổi. >dabien=cbind(pcfat,lean,bmi,age) > pairs.panels(dabien) BS: Bùi Văn Dủ
|