R dành cho người dùng SAS
Melinda Higgins, PhD
Research Professor/Senior Biostatistician Emory University
# 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


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

# 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"
)

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