Báo cáo này thực hiện các bước xử lý dữ liệu béo phì theo hướng dẫn
trong môn Phân tích dữ liệu với R.
Dữ liệu gồm 13 biến số liên quan đến nhân trắc học, thành phần cơ thể,
và bệnh lý chuyển hoá.
# Thiết lập môi trường làm việc
setwd("/cloud/project")
# Đọc dữ liệu CSV
ob <- read.csv("Obesity data.csv", header = TRUE)
# Kiểm tra vài dòng đầu tiên
head(ob)## id gender height weight bmi age WBBMC wbbmd fat lean pcfat hypertension
## 1 1 F 150 49 21.8 53 1312 0.88 17802 28600 37.3 0
## 2 2 M 165 52 19.1 65 1309 0.84 8381 40229 16.8 1
## 3 3 F 157 57 23.1 64 1230 0.84 19221 36057 34.0 1
## 4 4 F 156 53 21.8 56 1171 0.80 17472 33094 33.8 1
## 5 5 M 160 51 19.9 54 1681 0.98 7336 40621 14.8 0
## 6 6 F 153 47 20.1 52 1358 0.91 14904 30068 32.2 1
## diabetes
## 1 1
## 2 0
## 3 0
## 4 0
## 5 0
## 6 0
## [1] 1217 13
## [1] "id" "gender" "height" "weight" "bmi"
## [6] "age" "WBBMC" "wbbmd" "fat" "lean"
## [11] "pcfat" "hypertension" "diabetes"
## id gender height weight
## Min. : 1.0 Length:1217 Min. :136.0 Min. :34.00
## 1st Qu.: 309.0 Class :character 1st Qu.:151.0 1st Qu.:49.00
## Median : 615.0 Mode :character Median :155.0 Median :54.00
## Mean : 614.5 Mean :156.7 Mean :55.14
## 3rd Qu.: 921.0 3rd Qu.:162.0 3rd Qu.:61.00
## Max. :1227.0 Max. :185.0 Max. :95.00
## bmi age WBBMC wbbmd fat
## Min. :14.5 Min. :13.00 Min. : 695 Min. :0.650 Min. : 4277
## 1st Qu.:20.2 1st Qu.:35.00 1st Qu.:1481 1st Qu.:0.930 1st Qu.:13768
## Median :22.2 Median :48.00 Median :1707 Median :1.010 Median :16955
## Mean :22.4 Mean :47.15 Mean :1725 Mean :1.009 Mean :17288
## 3rd Qu.:24.3 3rd Qu.:58.00 3rd Qu.:1945 3rd Qu.:1.090 3rd Qu.:20325
## Max. :37.1 Max. :88.00 Max. :3040 Max. :1.350 Max. :40825
## lean pcfat hypertension diabetes
## Min. :19136 Min. : 9.2 Min. :0.000 Min. :0.0000
## 1st Qu.:30325 1st Qu.:27.0 1st Qu.:0.000 1st Qu.:0.0000
## Median :33577 Median :32.4 Median :1.000 Median :0.0000
## Mean :35463 Mean :31.6 Mean :0.507 Mean :0.1109
## 3rd Qu.:39761 3rd Qu.:36.8 3rd Qu.:1.000 3rd Qu.:0.0000
## Max. :63059 Max. :48.4 Max. :1.000 Max. :1.0000
💡 Nhận xét: Dữ liệu có 13 biến và hơn 100 quan sát. Các biến số liên quan đến chiều cao, cân nặng, BMI và tỉ lệ mỡ.
# Giới tính (F/M -> 1/0)
ob$sex <- ifelse(ob$gender == "F", 1, 0)
# Phân loại béo phì theo BMI
ob$obese <- cut(
ob$bmi,
breaks = c(-Inf, 18.5, 25.0, 30.0, Inf),
labels = c("Underweight", "Normal", "Overweight", "Obese"),
right = FALSE
)
# Đổi đơn vị từ g sang kg
ob$lean.kg <- ob$lean / 1000
ob$fat.kg <- ob$fat / 1000💡 Ghi chú: Biến
sexmã hóa giới tính,obesegiúp phân nhóm theo BMI, cònlean.kgvàfat.kgchuyển đổi đơn vị về kg.
# Nam giới quá cân và béo phì
men.overweight <- subset(ob, gender == "M" & bmi >= 25)
dim(men.overweight)## [1] 85 17
# Bộ dữ liệu Demo chỉ gồm 6 biến
Demo <- ob[, c("id", "age", "gender", "height", "weight", "pcfat")]
head(Demo)## id age gender height weight pcfat
## 1 1 53 F 150 49 37.3
## 2 2 65 M 165 52 16.8
## 3 3 64 F 157 57 34.0
## 4 4 56 F 156 53 33.8
## 5 5 54 M 160 51 14.8
## 6 6 52 F 153 47 32.2
📊 Kết quả:
men.overweightgồm các nam giới có BMI ≥ 25, cònDemochỉ chứa các biến nhân trắc cơ bản để mô tả mẫu nghiên cứu.
💡 Nhận xét: BMI tập trung chủ yếu trong nhóm “Normal” và “Overweight”.
Các bước xử lý dữ liệu và phân loại đã được hoàn thành.
Kết quả có thể được lưu ra file CSV hoặc sử dụng cho các phân tích tiếp
theo như kiểm định t-test, ANOVA hoặc hồi quy.
✅ Hoàn thành phần Ngày 1: Phân tích dữ liệu cơ bản với R