library(lessR)
##
## lessR 4.4.5 feedback: gerbing@pdx.edu
## --------------------------------------------------------------
## > d <- Read("") Read data file, many formats available, e.g., Excel
## d is default data frame, data= in analysis routines optional
##
## Many examples of reading, writing, and manipulating data,
## graphics, testing means and proportions, regression, factor analysis,
## customization, forecasting, and aggregation from pivot tables
## Enter: browseVignettes("lessR")
##
## View lessR updates, now including time series forecasting
## Enter: news(package="lessR")
##
## Interactive data analysis
## Enter: interact()
library(table1)
##
## Attaching package: 'table1'
## The following object is masked from 'package:lessR':
##
## label
## The following objects are masked from 'package:base':
##
## units, units<-
ob <- read.csv("Obesity data.csv")
Đây là 1 tập số liệu liên quan đến nghiên cứu về béo phì gồm những biến số sau:
• id: mã số người tham gia
• age: tuổi (năm)
• gender: giới tính (F/M)
• height: chiều cao (cm)
• weight: cân nặng (kg)
• bmi: chỉ số khối cơ thể (kg/m2)
• WBBMC: cân nặng của xương toàn cơ thể (g) (whole-body bone mineral content)
• wbbmd: mật độ xương (g/cm2) toàn cơ thể (whole-body bone mineral density)
• fat: khối lượng mỡ (g)
• lean: khối lượng cơ (g)
• pcfat: tỉ trọng mỡ (%)
• hypertension: tiền căn cao huyết áp (0/1)
• diabetes: tiền căn tiểu đường (0/1)
ob4.1 Có bao nhiêu biến số (variable) và quan sát (observation)
dim(ob)
## [1] 1217 13
4.2 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
4.3 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
4.4 Tóm tắt dữ liệu bằng hàm summary()
summary(ob) #function
## 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
5.1 Mã hoá biến gender (F/M) thành biến sex với giá trị 0/1 (0= M; 1= F)
ob$sex <- ifelse(test = ob$gender == "M",
yes = 0,
no = 1)
5.2 Mã hoá biến bmi thành biến obese với 4
nhóm như sau:
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:lessR':
##
## order_by, recode, rename
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
ob %>% dplyr:::mutate(obese = case_when(
bmi < 18.5 ~ "Underweight",
bmi >= 18.5 & bmi < 25 ~ "Normal",
bmi >= 25 & bmi < 30 ~ "Overweight",
bmi >= 30 ~ "Obese",
.default = NA
)) -> ob
Nếu bmi < 18.5 thì obese = “Underweight”
Nếu 18.5 ≤ bmi < 25.0 thì obese = “Normal”
Nếu 25.0 ≤ bmi < 30 thì obese = “Overweight”
Nếu bmi ≥ 30.0 thì obese = “Obese”
5.3 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
ob$lean.kg <- ob$lean / 1000
ob$fat.kg <- ob$fat / 1000
5.4 Tạo 1 tập dữ liệu men.overweight gồm nam giới quá
cân (25.0 kg/m2 ≤ BMI< 30.0 kg/m2) và béo phì (BMI ≥ 30.0 kg/m2). Có
bao nhiêu biến số và quan sát trong tập dữ liệu này?
men.overweight <- ob[ (ob$bmi >= 25 & ob$bmi < 30) | (ob$bmi >= 30) , ]
dim(men.overweight)
## [1] 245 17
5.5 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 <- 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