#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)

2. Tính khối lượng cơ (kg):

ob$lean.kg <- ob$weight - ob$fat.kg

3. (Tùy chọn) Kiểm tra 6 hàng đầu tiên để xem 2 cột mới:

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"))

Xem 6 hàng đầu tiên của tập dữ liệu mới này:

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")]

(Tùy chọn) Xem 6 hàng đầu tiên của Demo để kiểm tra:

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.