Bài giảng Phân tích dữ liệu và ứng dụng - Bài 5: Phân tích mô tả t-test, Ki bình phương

Phân tích mô tả và so sánh • Mô tả biến liên tục (continuous variables) • Mô tả biến phân nhóm (categorical variables) • So sánh hai nhóm: biến liên tục • So sánh hai nhóm: biến phân nhómMô tả biến liên tục • Biểu đồ phân bố, biểu đồ hộp • Phân bố chuẩn: trung bình, độ lệch chuẩn • Phân bố lệch so với phân bố chuẩn: trung vị, bách phân vị 25%, 75%Mô tả biến phân nhóm • Biểu đồ bar • Tỉ lệ, độ lệch chuẩn, khoảng tin cậy 95% • Phân bố lệch so với phân bố chuẩn: trung vị, bách phân vị 25%, 75%Mô tả bằng biểu đồBiểu đồ phổ biến • Biểu đồ phân bố (hist) • Biểu đồ hộp (boxplot) • Biểu đồ tương quan (plot) • Biểu đồ tương quan đa biến (pairs.panels; package psych)

pdf25 trang | Chia sẻ: thanhle95 | Lượt xem: 620 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích dữ liệu và ứng dụng - Bài 5: Phân tích mô tả t-test, Ki bình phương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Tuan V. Nguyen Garvan Institute of Medical Research Professor, UNSW School of Public Health and Community Medicine Professor of Predictive Medicine, University of Technology Sydney Adj. Professor of Epidemiology and Biostatistics, School of Medicine Sydney, University of Notre Dame Australia Phân tích dữ liệu và ứng dụng | Đại học Dược Hà Nội | 12/6 to 17/6/2019 © Tuan V. Nguyen Dữ liệu thực tế Nghiên cứu tiểu đường (n = 3165 nam và nữ) > db = read.csv("~/Dropbox/_Conferences and Workshops/Dai hoc Duoc 6- 2019/Datasets/Diabetes data.csv") > head(db) id age gender height weight waist hip sysbp diabp active hypertension 1 1 76 Female 163 53 90 93 160 90 0 1 2 1 40 Female 149 51 74 94 100 60 0 0 3 1 51 Female 151 55 91 100 120 80 0 0 4 1 43 Female 158 62 78 96 120 80 1 0 5 2 72 Female 148 47 91 95 130 60 1 0 6 2 44 Male 155 48 69 86 120 80 0 0 bmi whr diabetes 1 19.95 0.97 IFG 2 22.97 0.79 Normal 3 24.12 0.91 Normal 4 24.84 0.81 Normal 5 21.46 0.96 IFG 6 19.98 0.80 Normal > sim(db) Phân tích mô tả và so sánh • Mô tả biến liên tục (continuous variables) • Mô tả biến phân nhóm (categorical variables) • So sánh hai nhóm: biến liên tục • So sánh hai nhóm: biến phân nhóm Mô tả biến liên tục • Biểu đồ phân bố, biểu đồ hộp • Phân bố chuẩn: trung bình, độ lệch chuẩn • Phân bố lệch so với phân bố chuẩn: trung vị, bách phân vị 25%, 75% Mô tả biến phân nhóm • Biểu đồ bar • Tỉ lệ, độ lệch chuẩn, khoảng tin cậy 95% • Phân bố lệch so với phân bố chuẩn: trung vị, bách phân vị 25%, 75% Mô tả bằng biểu đồ Biểu đồ phổ biến • Biểu đồ phân bố (hist) • Biểu đồ hộp (boxplot) • Biểu đồ tương quan (plot) • Biểu đồ tương quan đa biến (pairs.panels; package psych) Phân bố whr (tỉ số eo – mông) hist(db$whr, breaks=20, col="blue", border="white") Histogram of db$whr db$whr Fr eq ue nc y 0.6 0.8 1.0 1.2 1.4 0 20 0 40 0 60 0 80 0 Phân bố whr theo nhóm diabetes boxplot(db$whr ~ db$diabetes, col="blue", border="red") IFG Normal Yes 0. 6 0. 8 1. 0 1. 2 Phân bố whr theo nhóm diabetes (sắp xếp lại) db$diabetes = factor(db$diabetes, levels=c("Normal", "IFG", "Yes")) boxplot(db$whr ~ db$diabetes, col="blue", border="red") Normal IFG Yes 0. 6 0. 8 1. 0 1. 2 Tương quan giữa whr và bmi plot(db$whr ~ db$bmi, pch=16, col="blue") abline(lm(db$whr ~ db$bmi), col="red") 15 20 25 30 35 40 45 0. 6 0. 8 1. 0 1. 2 db$bmi db $w hr Tương quan đa biến library(psych) # Chọn biến số từ db vars = db[,c("age", "weight", "bmi", "waist", "hip", "whr")] pairs.panels(vars) age 40 60 80 -0.13 -0.05 60 80 100 120 0.19 -0.03 0.6 0.8 1.0 1.2 30 60 90 0.32 40 80 weight 0.84 0.74 0.74 0.38 bmi 0.71 0.72 15 30 45 0.37 60 90 12 0 waist 0.74 0.76 hip 60 10 00.13 30 50 70 90 0. 6 1. 0 15 25 35 45 60 80 100 whr Tương quan đa biến library(corrplot) # tính hệ số tương quan corr = cor(na.omit(vars)) corrplot(corr, method="circle") -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 ag e w ei gh t bm i w ai st hi p w hr age weight bmi waist hip whr Package "DescTools" Hàm R cho phân tích mô tả • Package "DescTools" và "table1" • Hàm chính: Desc Desc(var ~ group, options) • Hàm chính: table1 Desc(~var1 + var2 + var3 ~ group) Mô tả biến waist (biến liên tục) db = read.csv("~/Dropbox/_Conferences and Workshops/Dai hoc Duoc 6-2019/Datasets/Diabetes data.csv") Desc(db$waist) > library(DescTools) > Desc(db$waist) ---------------------------------------------------- db$waist (numeric) length n NAs unique 0s mean meanCI 3'165 3'154 11 76 0 81.98 81.62 99.7% 0.3% 0.0% 82.35 .05 .10 .25 median .75 .90 .95 65.00 69.00 74.00 82.00 89.00 95.00 99.00 range sd vcoef mad IQR skew kurt 66.00 10.43 0.13 11.86 15.00 0.20 -0.08 lowest : 54.0 (2), 55.0, 56.0 (2), 57.0 (4), 58.0 (3) highest: 116.0, 117.0, 118.0 (2), 119.0 (2), 120.0 (2) 0.000 0.005 0.010 0.015 0.020 0.025 0.030 0.035 50 60 70 80 90 100 110 120 .00 .25 .50 .75 1.00 db$waist (numeric) Mô tả biến diabetes (biến phân nhóm) Desc(db$diabetes) > Desc(db$diabetes) ---------------------------------------------- db$diabetes (factor) length n NAs unique levels dupes 3'165 3'165 0 3 3 y 100.0% 0.0% level freq perc cumfreq cumperc 1 Normal 2'680 84.7% 2'680 84.7% 2 IFG 243 7.7% 2'923 92.4% 3 Yes 242 7.6% 3'165 100.0% Yes IFG Normal frequency 0 1000 2000 3000 percent 0.0 0.2 0.4 0.6 0.8 1.0 db$diabetes (factor) Phân tích so sánh: biến liên tục (t-test) > Desc(db$waist ~ db$gender) db$waist ~ db$gender Summary: n pairs: 3'165, valid: 3'154 (99.7%), missings: 11 (0.3%), groups: 2 Female Male mean 80.105 86.017 median 79.000 87.000 sd 10.226 9.697 IQR 14.000 13.000 n 2'152 1'002 np 68.231% 31.769% NAs 9 2 0s 0 0 Kruskal-Wallis rank sum test: Kruskal-Wallis chi-squared = 240.82, df = 1, p-value < 2.2e-16 > t.test(db$waist ~ db$gender) Welch Two Sample t-test data: db$waist by db$gender t = -15.666, df = 2050.2, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -6.652544 -5.172280 sample estimates: mean in group Female mean in group Male 80.10455 86.01697 Biến phân tích: Liên tục (waist) Biến so sánh: Phân nhóm (gender) Phương pháp: Kiểm định t (t-test) Phân tích mô tả và so sánh: biến liên tục > Desc(db$waist ~ db$diabetes) -------------------------------------------------- db$waist ~ db$diabetes Summary: n pairs: 3'165, valid: 3'154 (99.7%), missings: 11 (0.3%), groups: 3 IFG Normal Yes mean 84.936 81.557 83.743 median 85.000 81.000 83.000 sd 10.620 10.435 9.510 IQR 15.000 15.000 12.000 n 242 2'671 241 np 7.673% 84.686% 7.641% NAs 1 9 1 0s 0 0 0 Kruskal-Wallis rank sum test: Kruskal-Wallis chi-squared = 27.71, df = 2, p- value = 9.614e-07 IFG Normal Yes 60 70 80 90 11 0 n=242 n=2671 n=241 81 .5 82 .5 83 .5 84 .5 IFG Normal Yes x$g means db$waist ~ db$diabetes Phân tích mô tả và so sánh: biến phân nhóm > Desc(db$diabetes ~ db$gender) -------------------------------------------------- db$diabetes ~ db$gender Summary: n: 3'165, rows: 3, columns: 2 Pearson's Chi-squared test: X-squared = 9.1224, df = 2, p-value = 0.01045 db$gender Female Male Sum db$diabetes IFG freq 157 86 243 perc 5.0% 2.7% 7.7% p.row 64.6% 35.4% . p.col 7.3% 8.6% . Normal freq 1'857 823 2'680 perc 58.7% 26.0% 84.7% p.row 69.3% 30.7% . p.col 85.9% 82.0% . Yes freq 147 95 242 perc 4.6% 3.0% 7.6% p.row 60.7% 39.3% . p.col 6.8% 9.5% . Sum freq 2'161 1'004 3'165 perc 68.3% 31.7% 100.0% p.row . . . p.col . . . Biến phân tích: Phân nhóm (diabetes) Biến so sánh: Phân nhóm (gender) Phương pháp: Kiểm định Ki bình phương (Chi squared test) Package "table1" Package "table1" • Có thể mô tả nhiều biến cùng một lúc • Mô tả theo nhóm • Hàm chính table1(~var1 + var2 + var3 | group) • Ví dụ library(table1) table1(~age + height + weight + waist + diabetes | gender, data=db) Phân tích mô tả • Biểu đồ – histogram, boxplot, scatterplot • Chỉ số thống kê – biến liên tục: trung bình, độ lệch chuẩn – biến phân nhóm: tỉ lệ, độ lệch chuẩn • So sánh giữa >2 nhóm – biến liên tục: t-test (2 nhóm), Kruskal-Wallis (>2 nhóm) – biến phân nhóm: Ki bình phương Phân tích mô tả: R packages • Biểu đồ – hist, boxplot, plot, pairs.panels • Chỉ số thống kê – biến liên tục: Desc, table1 – biến phân nhóm: Desc, table1 • So sánh giữa >2 nhóm – biến liên tục: Desc, t.test – biến phân nhóm: Desc