Bài tập ngày 21/10/2025
Đây là phần chú thích
Vào tab code, chon insert Chunk để nhậplệnh R
ob=read.csv("D:\\Download\\Obesity data.csv")
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
tail(ob)
## id gender height weight bmi age WBBMC wbbmd fat lean pcfat
## 1212 1222 F 153 50 21.4 59 1309 0.87 18328 29147 37.6
## 1213 1223 F 150 44 19.6 44 1474 0.95 12906 28534 30.1
## 1214 1224 F 148 51 23.3 58 1522 0.97 14938 33931 29.6
## 1215 1225 F 149 50 22.5 57 1409 0.93 16777 30598 34.4
## 1216 1226 F 144 49 23.6 67 1266 0.90 20094 27272 41.3
## 1217 1227 F 141 45 22.6 58 1228 0.91 14567 28111 33.2
## hypertension diabetes
## 1212 1 0
## 1213 0 1
## 1214 0 0
## 1215 1 0
## 1216 1 0
## 1217 0 0
Thêm trường sex =0 Nam; sex =1 Nữ
ob$sex[ob$gender =="M"] = 0
ob$sex[ob$gender =="F"] = 1
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 sex
## 1 1 1
## 2 0 0
## 3 0 1
## 4 0 1
## 5 0 0
## 6 0 1
Tạo biến obese với các điều kiện:
bmi<18.5: Thiếu cân
18.5 <= bmi < 25.0 Bình thường
25.0 <= bmi < 30 Thừa cân
bmi>=30: béo phì
ob$obese[ob$bmi <18.5]="Thiếu cân"
ob$obese[18.5>= ob$bmi & ob$bmi <25]="Bình thường"
ob$obese[25>= ob$bmi & ob$bmi <30]="Thừa cân"
ob$obese[ob$bmi >=30]="Béo phì"
head(ob,20)
## 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
## 7 7 F 155 58 24.1 66 1546 0.96 20233 35599 35.3 1
## 8 8 M 167 65 23.3 50 2276 1.11 17749 43301 28.0 1
## 9 9 M 165 54 19.8 61 1778 0.96 10795 38613 21.1 0
## 10 10 F 158 60 24.0 58 1404 0.86 21365 35534 36.6 1
## 11 11 F 155 48 20.0 36 1889 1.06 13458 32261 28.3 1
## 12 12 M 165 65 23.9 50 1878 0.97 18100 43391 28.6 1
## 13 13 F 155 40 16.6 78 1001 0.78 11865 26264 30.3 1
## 14 14 M 158 57 22.8 84 1772 1.02 13398 40313 24.1 1
## 15 15 F 154 59 24.9 43 1717 1.03 19154 37239 33.0 0
## 16 16 M 150 70 31.1 49 2084 1.00 16540 49512 24.3 1
## 17 17 F 150 50 22.2 49 1636 1.01 20255 27891 40.7 1
## 18 18 M 158 65 26.0 49 2557 1.29 11716 45567 19.6 1
## 19 19 M 162 72 27.4 66 1535 0.86 25416 44577 35.5 1
## 20 20 M 161 55 21.2 58 1807 1.02 10020 40184 19.3 1
## diabetes sex obese
## 1 1 1 Thừa cân
## 2 0 0 Thừa cân
## 3 0 1 Thừa cân
## 4 0 1 Thừa cân
## 5 0 0 Thừa cân
## 6 0 1 Thừa cân
## 7 1 1 Thừa cân
## 8 1 0 Thừa cân
## 9 0 0 Thừa cân
## 10 0 1 Thừa cân
## 11 0 1 Thừa cân
## 12 0 0 Thừa cân
## 13 0 1 Thừa cân
## 14 0 0 Thừa cân
## 15 1 1 Thừa cân
## 16 0 0 Béo phì
## 17 0 1 Thừa cân
## 18 0 0 <NA>
## 19 0 0 <NA>
## 20 0 0 Thừa cân
Tạo biến mới lean.kg =lean /1000 và fat.kg =fat /1000
ob$lean.kg=ob$lean /1000
ob$fat.kg=ob$fat /1000
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 sex obese lean.kg fat.kg
## 1 1 1 Thừa cân 28.600 17.802
## 2 0 0 Thừa cân 40.229 8.381
## 3 0 1 Thừa cân 36.057 19.221
## 4 0 1 Thừa cân 33.094 17.472
## 5 0 0 Thừa cân 40.621 7.336
## 6 0 1 Thừa cân 30.068 14.904
Trích dữ liệu Nam giới thừa cân và Nam giới béo phì
men.overweight <- subset(ob,ob$bmi>=25 & ob$bmi<30 & ob$gender =='M')
men.obese <- ob[ob$gender =='M' & ob$bmi>=30,]
men.overweight.obese <- subset(ob, ob$bmi>=25 & ob$gender== 'M')
head(men.overweight)
## id gender height weight bmi age WBBMC wbbmd fat lean pcfat
## 18 18 M 158 65 26.0 49 2557 1.29 11716 45567 19.6
## 19 19 M 162 72 27.4 66 1535 0.86 25416 44577 35.5
## 26 26 M 172 78 26.4 52 1991 0.95 19772 55200 25.7
## 40 40 M 171 75 25.6 51 2192 1.13 18188 51801 25.2
## 69 69 M 168 80 28.3 53 2043 1.06 17907 54594 24.0
## 106 107 M 170 75 26.0 45 2109 1.02 20800 51061 28.1
## hypertension diabetes sex obese lean.kg fat.kg
## 18 1 0 0 <NA> 45.567 11.716
## 19 1 0 0 <NA> 44.577 25.416
## 26 0 0 0 <NA> 55.200 19.772
## 40 1 0 0 <NA> 51.801 18.188
## 69 0 0 0 <NA> 54.594 17.907
## 106 1 1 0 <NA> 51.061 20.800
head(men.obese)
## id gender height weight bmi age WBBMC wbbmd fat lean pcfat
## 16 16 M 150 70 31.1 49 2084 1.00 16540 49512 24.3
## 377 381 M 148 76 34.7 40 2395 1.12 20187 52455 26.9
## 891 898 M 172 95 32.1 41 2409 1.10 28220 63059 30.1
## 921 929 M 165 82 30.1 18 2236 1.07 26197 52518 32.4
## hypertension diabetes sex obese lean.kg fat.kg
## 16 1 0 0 Béo phì 49.512 16.540
## 377 0 0 0 Béo phì 52.455 20.187
## 891 1 0 0 Béo phì 63.059 28.220
## 921 0 0 0 Béo phì 52.518 26.197
head(men.overweight.obese)
## id gender height weight bmi age WBBMC wbbmd fat lean pcfat hypertension
## 16 16 M 150 70 31.1 49 2084 1.00 16540 49512 24.3 1
## 18 18 M 158 65 26.0 49 2557 1.29 11716 45567 19.6 1
## 19 19 M 162 72 27.4 66 1535 0.86 25416 44577 35.5 1
## 26 26 M 172 78 26.4 52 1991 0.95 19772 55200 25.7 0
## 40 40 M 171 75 25.6 51 2192 1.13 18188 51801 25.2 1
## 69 69 M 168 80 28.3 53 2043 1.06 17907 54594 24.0 0
## diabetes sex obese lean.kg fat.kg
## 16 0 0 Béo phì 49.512 16.540
## 18 0 0 <NA> 45.567 11.716
## 19 0 0 <NA> 44.577 25.416
## 26 0 0 <NA> 55.200 19.772
## 40 0 0 <NA> 51.801 18.188
## 69 0 0 <NA> 54.594 17.907
dim(men.overweight.obese)
## [1] 85 17
Tạo têp dữ liệu Demo và Demo.men có điều kiên
Demo <- subset(ob, select = c(id, age, gender, height, weight, pcfat))
Demo.men <- subset(ob, ob$gender =='M', select = 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
head(Demo.men)
## id age gender height weight pcfat
## 2 2 65 M 165 52 16.8
## 5 5 54 M 160 51 14.8
## 8 8 50 M 167 65 28.0
## 9 9 61 M 165 54 21.1
## 12 12 50 M 165 65 28.6
## 14 14 84 M 158 57 24.1