#Ngày 1: Giới thiệu R
##Việc 1. Tải R, RStudio về máy tính và cài đặt hai nhu liệu này. https://cran.r-project.org/mirrors.html (Chọn 0-Cloud) https://www.rstudio.com/products/rstudio/download
##Việc 2. Cài đặt các gói lệnh (packages) cần thiết (nếu chưa cài đặt).
###Cài hết vào phần mềm R: copy hết dòng lệnh vào install.packages(c(“lessR”, “table1”, “compareGroups”, “simpleboot”, “boot”, “GGally”, “gapminder”, “ggfortify”, “BMA”, “ggplot2”, “gridExtra”), dependencies = T)
###Sử dụng các gói lệnh, ví dụ: Copy từng gói lệnh vào phần mềm Rstudio: library(lessR); library(table1) ; library (compareGroups)
##Việc 3. Đọc dữ liệu “Obesity data.csv” vào R và gọi dữ liệu là “ob” (dùng hàm read.csv)
###Bạn có thể sử dụng tính năng “Import Dataset” có sẵn trong RStudio: Trong RStudio, nhìn sang tab Environment (thường ở góc trên bên phải). Nhấp vào nút Import Dataset. Chọn From Text (base)… hoặc From Text (readr)…. Duyệt và chọn file .csv của bạn (ví dụ: Demo.csv (tải từ mail). Một cửa sổ xem trước sẽ hiện lên, cho phép bạn điều chỉnh các tùy chọn (như tên, tiêu đề, v.v.). Nhấp vào Import. RStudio sẽ tự động chạy lệnh chính xác cho bạn.
ob <- read.csv("Obesity data.csv")
##Việc 4. Thông tin về dữ liệu ob này làm trong phần mềm RSutdio
###4.1 Có bao nhiêu biến số (variable) và quan sát (observation) Lệnh này sẽ cho bạn biết số hàng (quan sát) và số cột (biến số) :
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)
## 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
##Việc 5. Biên tập dữ liệu ###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(ob$gender == "F", 1, 0)
###5.2 Mã hoá biến bmi thành biến obese với 4 nhóm như sau: 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”
breaks <- c(-Inf, 18.5, 25, 30, Inf)
labels <- c("Underweight", "Normal", "Overweight", "Obese")
ob$obese <- cut(ob$bmi, breaks = breaks, labels = labels, right = FALSE)
###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 #### 1. Tính khối lượng mỡ (kg):
ob$fat.kg <- ob$weight * (ob$pcfat / 100)
ob$lean.kg <- ob$weight - ob$fat.kg
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 fat.kg lean.kg
## 1 1 1 Normal 18.277 30.723
## 2 0 0 Normal 8.736 43.264
## 3 0 1 Normal 19.380 37.620
## 4 0 1 Normal 17.914 35.086
## 5 0 0 Normal 7.548 43.452
## 6 0 1 Normal 15.134 31.866
###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? #### Lọc những người là Nam (sex == 1) VÀ (Quá cân HOẶC Béo phì)
men.overweight <- subset(ob, gender == 1 & (obese == "Overweight" | obese == "Obese"))
head(men.overweight)
## [1] id gender height weight bmi
## [6] age WBBMC wbbmd fat lean
## [11] pcfat hypertension diabetes sex obese
## [16] fat.kg lean.kg
## <0 rows> (or 0-length row.names)
####Có bao nhiêu biến số và quan sát trong tập dữ liệu:
dim(men.overweight)
## [1] 0 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. #### Chọn 6 cột và lưu vào data frame mới tên ‘Demo’
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
##Việc 6. Bạn hãy ghi lại tất cả những hàm/lệnh trên trong RMarkdown và chia sẻ trên mạng rpubs.com/tài khoản của bạn.