Dữ liệu phân loại: phân tích và trực quan hóa

R dành cho người dùng SAS

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

Gộp hạng mục

# Use table() inside with() for bmicat
daviskeep %>% with(table(bmicat))
bmicat
1. underwt/norm       2. overwt        3. obese
            161              35               3

Thêm biến tái mã hóa bmigt25

# Thêm một biến phân loại bmigt25
daviskeep <- daviskeep %>%
  mutate(bmigt25 = ifelse(bmi > 25,
                          "2. overwt/obese",
                          "1. underwt/norm"))

# Xem tần suất các hạng bmigt25
daviskeep %>% with(table(bmigt25))
bmigt25
1. underwt/norm 2. overwt/obese
            161              38
R dành cho người dùng SAS

Bảng chéo trong SAS và R

SAS PROC FREQ, hàm table của R, và CrossTable của gmodels

R dành cho người dùng SAS

Kiểm định chi-bình phương trong SAS và R

SAS PROC FREQ và mã R cho chisq.test và tùy chọn hàm CrossTable của gmodels

R dành cho người dùng SAS

Bảng chéo và kiểm định chi-bình phương

# Lưu bảng bmigt25 theo giới
tablebmisex <- daviskeep %>%
  with(table(bmigt25, sex))
tablebmisex
# Dùng bảng để chạy chisq.test
chisq.test(tablebmisex)
                 sex
bmigt25             F   M
  1. underwt/norm 107  54
  2. overwt/obese   4  34
Kiểm định Chi-bình phương Pearson với
hiệu chỉnh liên tục của Yates

data:  tablebmisex
X-squared = 36.759, df = 1, p-value = 1.336e-09
R dành cho người dùng SAS

Kiểm định chi-bình phương với gmodels

# Load gmodel package
library(gmodels)
# Run gmodels::CrossTabs, show column %s and expected values
daviskeep %>%
  with(gmodels::CrossTable(bmigt25, sex,
                           chisq = TRUE,
                           prop.r = FALSE,
                           prop.t = FALSE,
                           prop.chisq = FALSE,
                           expected = TRUE))
R dành cho người dùng SAS

Kết quả CrossTable - phần 1

   Nội dung ô
|-------------------------|
|                       N |
|                N kỳ vọng |
|           N / Tổng cột |
|-------------------------|

Tổng quan sát trong bảng:  199
                | sex
        bmigt25 |         F |         M | Tổng hàng |
----------------|-----------|-----------|-----------|
1. underwt/norm |       107 |        54 |       161 |
                |    89.804 |    71.196 |           |
                |     0.964 |     0.614 |           |
----------------|-----------|-----------|-----------|
2. overwt/obese |         4 |        34 |        38 |
                |    21.196 |    16.804 |           |
                |     0.036 |     0.386 |           |
----------------|-----------|-----------|-----------|
   Tổng cột     |       111 |        88 |       199 |
                |     0.558 |     0.442 |           |
----------------|-----------|-----------|-----------|
R dành cho người dùng SAS

Kết quả CrossTable - phần 2

gmodels::CrossTable() - tiếp theo...

 

Thống kê cho tất cả biến trong bảng

Kiểm định Chi-bình phương Pearson
------------------------------------------------------------
Chi^2 =  38.99402     bậc tự do =  1     p =  4.251066e-10

Kiểm định Chi-bình phương Pearson với hiệu chỉnh liên tục của Yates
------------------------------------------------------------
Chi^2 =  36.75936     bậc tự do =  1     p =  1.336475e-09
R dành cho người dùng SAS

Biểu đồ khảm trong SAS và R

tùy chọn freqplot của SAS PROC FREQ cho lệnh TABLES và hàm mosaicplot của R

R dành cho người dùng SAS

Mosaicplot cho tỷ lệ hai biến phân loại

 

# Vẽ mosaicplot của bmigt25 theo giới tính
mosaicplot(bmigt25 ~ sex,
           data = daviskeep,
           color = c("light blue",
                     "dark grey"),
           main =
             "Nhóm BMI theo giới"
           )

biểu đồ khảm bmigt25 và sex của bộ dữ liệu daviskeep

R dành cho người dùng SAS

Khám phá liên hệ phân loại cho abalone!

R dành cho người dùng SAS

Preparing Video For Download...