NGÀY 1 (21.10.2025)

# Việc 1
# Việc 2
# Việc 3
## Tìm kiếm file dữ liệu cần thực hiện
file.choose()
## [1] "D:\\TAP HUAN R DAU\\Obesity data.csv"
## Đọc dữ liệu "Obesity data.csv" vào R và gọi dữ liệu là "ob"
ob = read.csv("D:\\TAP HUAN R DAU\\Obesity data.csv")

# Việc 4
## Có bao nhiêu biến số (variable) và quan sát (observation)
dim(ob)
## [1] 1217   13
## Liệt kê 6 quan sát đầu tiên của dữ liệu
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
## Liệt kê 6 quan sát cuối cùng của dữ liệu
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
## Tóm tắt dữ liệu bằng hàm summary
summary(ob$fat)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    4277   13768   16955   17288   20325   40825
library(psych)
describe(ob)
##              vars    n     mean      sd   median  trimmed     mad      min
## id              1 1217   614.52  354.47   615.00   614.61  453.68     1.00
## gender*         2 1217     1.29    0.45     1.00     1.24    0.00     1.00
## height          3 1217   156.72    7.98   155.00   156.36    7.41   136.00
## weight          4 1217    55.14    9.40    54.00    54.62    8.90    34.00
## bmi             5 1217    22.40    3.06    22.20    22.28    2.97    14.50
## age             6 1217    47.15   17.28    48.00    47.00   17.79    13.00
## WBBMC           7 1217  1724.91  363.35  1707.00  1714.90  343.96   695.00
## wbbmd           8 1217     1.01    0.11     1.01     1.01    0.12     0.65
## fat             9 1217 17288.44 5214.40 16955.00 17133.02 4857.00  4277.00
## lean           10 1217 35463.11 7027.55 33577.00 34743.11 6004.53 19136.00
## pcfat          11 1217    31.60    7.18    32.40    31.99    7.12     9.20
## hypertension   12 1217     0.51    0.50     1.00     0.51    0.00     0.00
## diabetes       13 1217     0.11    0.31     0.00     0.01    0.00     0.00
##                   max   range  skew kurtosis     se
## id            1227.00  1226.0  0.00    -1.20  10.16
## gender*          2.00     1.0  0.92    -1.16   0.01
## height         185.00    49.0  0.47     0.16   0.23
## weight          95.00    61.0  0.67     0.86   0.27
## bmi             37.10    22.6  0.53     0.95   0.09
## age             88.00    75.0 -0.01    -0.78   0.50
## WBBMC         3040.00  2345.0  0.30     0.27  10.42
## wbbmd            1.35     0.7 -0.15    -0.04   0.00
## fat          40825.00 36548.0  0.36     0.45 149.47
## lean         63059.00 43923.0  0.90     0.31 201.45
## pcfat           48.40    39.2 -0.49    -0.02   0.21
## hypertension     1.00     1.0 -0.03    -2.00   0.01
## diabetes         1.00     1.0  2.47     4.13   0.01
# Việc 5
## Mã hoá biến gender (F/M) thành biến sex với giá trị 0/1 (0= M; 1= F)
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
## Mã hoá biến bmi thành biến obese
ob$obese[ob$bmi< 18.5]="Underweight"
ob$obese[ob$bmi>= 18.5 & ob$bmi < 25]="Bình thường"
ob$obese[ob$bmi>= 25 & ob$bmi < 30]="Thừa cân"
ob$obese[ob$bmi>= 30]="Béo phì"
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
## 1        1   1 Bình thường
## 2        0   0 Bình thường
## 3        0   1 Bình thường
## 4        0   1 Bình thường
## 5        0   0 Bình thường
## 6        0   1 Bình thường
## Tạo biến số mới lean.kg và fat.kg tính toán lượng cơ (lean) và mỡ (fat) bằng đơn vị kg
lean.kg=ob$lean/1000
fat.kg=ob$fat/1000

## Tạo 1 tập dữ liệu men.overweight gồm nam giới quá cân và béo phì
men.overweight<-subset(ob,sex=="M" & bmi>= 25)
dim(men.overweight)
## [1]  0 15
## Tạo 1 tập dữ liệu Demo chỉ bao gồm 6 biến số là id, age, gender, height, weight và pcfat
Demo=data.frame(ob$id,ob$age,ob$gender,ob$height,ob$weight,ob$pcfat)
head(Demo)
##   ob.id ob.age ob.gender ob.height ob.weight ob.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
## Thống kê chéo thông qua câu lệnh Table1
library(table1)
## 
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-
table1(~bmi+fat+lean|gender,data=ob)
F
(N=862)
M
(N=355)
Overall
(N=1217)
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]
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]