Hãy tự hỏi mình, trong 15-20s, muốn nói gì tóm tắt lại bài báo–> Mình muốn làm gì, truyền tải gì cho độc giả???

#Việc 1. Đọc dữ liệu vào R

ob=read.csv("/Users/daodanglinh/Desktop/Màn hình nền - ĐÀO ĐĂNG LINH/Phân tích số liệu/obesity data.csv")
dim(ob)
## [1] 1217   13

Việc 2. Mô tả đặc điểm mẫu nghiên cứu:

library(table1)
## 
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-
table1(~ age + gender + bmi + WBBMC + wbbmd + fat + lean + hypertension + diabetes, data = ob)
Overall
(N=1217)
age
Mean (SD) 47.2 (17.3)
Median [Min, Max] 48.0 [13.0, 88.0]
gender
F 862 (70.8%)
M 355 (29.2%)
bmi
Mean (SD) 22.4 (3.06)
Median [Min, Max] 22.2 [14.5, 37.1]
WBBMC
Mean (SD) 1720 (363)
Median [Min, Max] 1710 [695, 3040]
wbbmd
Mean (SD) 1.01 (0.113)
Median [Min, Max] 1.01 [0.650, 1.35]
fat
Mean (SD) 17300 (5210)
Median [Min, Max] 17000 [4280, 40800]
lean
Mean (SD) 35500 (7030)
Median [Min, Max] 33600 [19100, 63100]
hypertension
Mean (SD) 0.507 (0.500)
Median [Min, Max] 1.00 [0, 1.00]
diabetes
Mean (SD) 0.111 (0.314)
Median [Min, Max] 0 [0, 1.00]

Việc 3. Mô tả đặc điểm mẫu nghiên cứu theo giới tính:

table1(~ age + bmi + WBBMC + wbbmd + fat + lean + as.factor(hypertension) + as.factor(diabetes) | gender, data = ob)
F
(N=862)
M
(N=355)
Overall
(N=1217)
age
Mean (SD) 48.6 (16.4) 43.7 (18.8) 47.2 (17.3)
Median [Min, Max] 49.0 [14.0, 85.0] 44.0 [13.0, 88.0] 48.0 [13.0, 88.0]
bmi
Mean (SD) 22.3 (3.05) 22.7 (3.04) 22.4 (3.06)
Median [Min, Max] 22.1 [15.2, 37.1] 22.5 [14.5, 34.7] 22.2 [14.5, 37.1]
WBBMC
Mean (SD) 1600 (293) 2030 (336) 1720 (363)
Median [Min, Max] 1610 [695, 2660] 2030 [1190, 3040] 1710 [695, 3040]
wbbmd
Mean (SD) 0.988 (0.111) 1.06 (0.101) 1.01 (0.113)
Median [Min, Max] 0.990 [0.650, 1.35] 1.06 [0.780, 1.34] 1.01 [0.650, 1.35]
fat
Mean (SD) 18200 (4950) 15000 (5110) 17300 (5210)
Median [Min, Max] 17700 [6220, 40800] 15100 [4280, 29900] 17000 [4280, 40800]
lean
Mean (SD) 32000 (3970) 43800 (5820) 35500 (7030)
Median [Min, Max] 31500 [19100, 53400] 43400 [28600, 63100] 33600 [19100, 63100]
as.factor(hypertension)
0 430 (49.9%) 170 (47.9%) 600 (49.3%)
1 432 (50.1%) 185 (52.1%) 617 (50.7%)
as.factor(diabetes)
0 760 (88.2%) 322 (90.7%) 1082 (88.9%)
1 102 (11.8%) 33 (9.3%) 135 (11.1%)

#Việc 4. So sánh đặc điểm mẫu nghiên cứu giữa nam và nữ:

library(compareGroups)
createTable(compareGroups(gender ~ age + bmi + WBBMC + wbbmd + fat + lean + hypertension + diabetes, data = ob))
## 
## --------Summary descriptives table by 'gender'---------
## 
## ________________________________________________ 
##                   F            M       p.overall 
##                 N=862        N=355               
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
## age          48.6 (16.4)  43.7 (18.8)   <0.001   
## bmi          22.3 (3.05)  22.7 (3.04)    0.013   
## WBBMC         1599 (293)   2030 (336)   <0.001   
## wbbmd        0.99 (0.11)  1.06 (0.10)   <0.001   
## fat          18240 (4954) 14978 (5113)  <0.001   
## lean         32045 (3966) 43762 (5819)  <0.001   
## hypertension 0.50 (0.50)  0.52 (0.50)    0.527   
## diabetes     0.12 (0.32)  0.09 (0.29)    0.181   
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ob$hypert = as.factor(ob$hypertension)
ob$dm = as.factor(ob$diabetes)
createTable(compareGroups(gender ~ age + bmi + WBBMC + wbbmd + fat + lean + hypert + dm, data = ob))
## 
## --------Summary descriptives table by 'gender'---------
## 
## ___________________________________________ 
##              F            M       p.overall 
##            N=862        N=355               
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
## age     48.6 (16.4)  43.7 (18.8)   <0.001   
## bmi     22.3 (3.05)  22.7 (3.04)    0.013   
## WBBMC    1599 (293)   2030 (336)   <0.001   
## wbbmd   0.99 (0.11)  1.06 (0.10)   <0.001   
## fat     18240 (4954) 14978 (5113)  <0.001   
## lean    32045 (3966) 43762 (5819)  <0.001   
## hypert:                             0.569   
##     0   430 (49.9%)  170 (47.9%)            
##     1   432 (50.1%)  185 (52.1%)            
## dm:                                 0.238   
##     0   760 (88.2%)  322 (90.7%)            
##     1   102 (11.8%)   33 (9.30%)            
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

#Việc 4. Biểu đồ histogram ##4.1 Phân bố tỉ trọng mỡ ### phai goi cac package #### library(ggplot2) #### library(gridExtra)

p = ggplot(data = ob, aes(x = pcfat))

p1 = p + geom_histogram()

p2 = p + geom_histogram(fill = “blue”, col = “white”) + labs(x = “Tỉ trọng mỡ (%)”, y = “Số người”, title = “Phân bố tỉ trọng mỡ”)

grid.arrange(p1, p2, ncol (so cot) = 2)

library(ggplot2)
library(gridExtra) 

p = ggplot(data = ob, aes(x = pcfat))
p1 = p + geom_histogram()
p2 = p + geom_histogram(fill = "blue", col = "white") + labs(x = "Tỉ trọng mỡ (%)", y = "Số người", title = "Phân bố tỉ trọng mỡ")

grid.arrange(p1, p2, ncol = 2)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

## 4.2 Phân bố tỉ trọng mỡ theo giới tính

p = ggplot(data = ob, aes(x = pcfat, fill = gender))
p1 = p + geom_histogram(col="white") + labs(x = "Tỉ trọng mỡ", y = "Số người", title = "Phân bố tỉ trọng mỡ")
p2 = p + geom_density(alpha = 0.5) + labs(x = "Tỉ trọng mỡ", y = "Tỉ lệ phần trăm", title = "Phân bố tỉ trọng mỡ")

grid.arrange(p1, p2, ncol = 2)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

#Việc 5. Biểu đồ thanh ## 5.1 Tạo biến số OB từ biến bmi

ob$OB[ob$bmi< 18.5] = "Underweight"
ob$OB[ob$bmi>= 18.5 & ob$bmi< 25] = "Normal"
ob$OB[ob$bmi>= 25 & ob$bmi< 30] = "Overweight"
ob$OB[ob$bmi>= 30] = "Obese"

##5.2 Phân bố của tình trạng béo phì

p = ggplot(data = ob, aes(x = OB, fill = OB, col = OB))
p + geom_bar(position = "dodge")

ob$OB = factor(ob$OB, levels=c("Underweight",
"Normal", "Overweight", "Obese"))

5.3 Phân bố của tình trạng béo phì theo giới tính

p = ggplot(data = ob, aes(x = OB, y = pcfat, fill = gender, group = gender))
p + geom_bar(stat = "identity", position = "dodge")

#Việc 6. Soạn biểu đồ hộp ## 6.1 So sánh phân bố của tỉ trọng mỡ giữa các nhóm béo phì ở nữ ### Tạo tập dữ liệu chỉ gồm nữ

women = subset(ob, gender == "F")
dim(women)
## [1] 862  16

Vẽ biểu đồ hộp

p = ggplot(data = women, aes(x = OB, y = pcfat, fill = OB, col = OB))
p1 = p + geom_boxplot(col = "black") + geom_jitter(alpha = 0.05) + labs(x = "Tình trạng béo phì", y = "Tỉ trọng mỡ (%)") + ggtitle("Tỉ trọng mỡ theo tình trạng béo phì ở nữ")
p1

## Mô tả: 1.Tình trạng béo phì hình như tỉ lệ với tỷ trọng mỡ. 2.Càng rộng, số liệu dao động càng nhiều. 3. Đường trung vị lệch lên trên hay xuống dưới. 4.Để biết chính xác cần thêm thuật toán

ob$OB.n = factor(ob$OB, levels = c("Underweight", "Normal", "Overweight", "Obese"))
p = ggplot(data = ob, aes(x = OB.n, y = pcfat, fill = gender, col = gender))
p1 = p + geom_boxplot(col = "black") + geom_jitter(alpha = 0.05) + labs(x = "Tình trạng béo phì", y = "Tỉ trọng mỡ (%)") + ggtitle("Tỉ trọng mỡ theo tình trạng béo phì và giới tính")
p1

# nhận xét: có mối liên quan tăng dần. Trong nhóm nào thì tỉ lệ mỡ nam nhỏ hơn nữ. Độ rộng của cột giữa cũng cần lưu ý. # Khi phân tích hồi quy, các giá trị ngoại vi (Cực) có thể ảnh hưởng kết quả # dấu đen: potential outlineers: nếu do kỹ thuật, do đo lường –> chọn sai –> loại bỏ. Nếu là thực tế lâm sàng –> áp dụng phương pháp phân tích khác dành cho các trường hợp như này. #Việc 7. Soạn biểu đồ tương quan ## 7.1 Mối liên quan giữa chỉ số khối cơ thể và tỉ trọng mỡ

p = ggplot(data = ob, aes(x = bmi, y = pcfat))
p1 = p + geom_point()
p2 = p + geom_point() + geom_smooth()

grid.arrange(p1, p2, ncol = 2)
## `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'

### Mô tả 1 câu: Mối liên quan thuận giữa bmi và pcfat. Do độ tập trung các số liệu không cao (phân tán nhiều), ý nghĩa không cao. ### Đường xanh: giá trị trung bình ### Diện xám: khoảng tin cậy 95%. Tại sao đoạn giữa hẹp và 2 đầu rộng: tại liên quan tới cỡ mẫu, càng trung tâm số liệu càng nhiều, số liệu ngoại vi càng ít –>rộng.

p = ggplot(data = ob, aes(x = bmi, y = pcfat, fill = gender, col = gender))
p1 = p + geom_point() + geom_smooth() + labs(x = "Chỉ số khối cơ thể (kg/m2)", y = "Tỉ trọng mỡ (%)") + ggtitle("Liên quan giữa chỉ số khối cơ thể và tỉ trọng mỡ theo giới tính")
p1
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

### Nhận xét: ở bất kỳ chỉ số khối cơ thể nào, đa số tỉ trọng mỡ cao hơn nam. BMI tăng thì tỷ trọng mỡ cao. Mối liên quan này thống nhất giữa nam và nữ. ### Luôn cân bằng giữa sự chi tiết ### 2 mô hình parabol.