Task 1: Đọc dữ liệu

#Nhập dữ liệu

pisa = read.csv("C:/Users/Dell/Desktop/Time series/Dataset/PISA Data Vietnam 2015.csv")
dim(pisa)
## [1] 5826   18
head(pisa)
##     School SchoolSize ClassSize STratio SchoolType  Area Region   Age
## 1 70400001        883        18  22.075          3 URBAN  SOUTH 15.58
## 2 70400001        883        18  22.075          3 URBAN  SOUTH 15.92
## 3 70400001        883        18  22.075          3 URBAN  SOUTH 15.42
## 4 70400001        883        18  22.075          3 URBAN  SOUTH 15.58
## 5 70400001        883        18  22.075          3 URBAN  SOUTH 15.92
## 6 70400001        883        18  22.075          3 URBAN  SOUTH 16.25
##   Gender PARED HISCED  WEALTH INSTSCIE JOYSCIE  ICTRES    Math    Read
## 1   Boys     9      2 -2.0697   0.9798  2.1635 -1.5244 439.923 412.290
## 2   Boys    12      4 -1.7903   1.7359  2.1635 -1.9305 406.251 409.598
## 3  Girls     9      2 -2.1942  -0.2063 -0.1808 -1.6093 414.369 384.307
## 4  Girls     5      1 -2.0301  -0.3115 -0.4318 -1.6250 468.801 459.104
## 5  Girls     9      2 -1.0522   0.7648  1.3031 -0.5305 355.432 402.435
## 6  Girls     5      1 -3.0570   0.3708  0.5094 -2.5873 458.955 483.885
##   Science
## 1 475.612
## 2 450.320
## 3 405.787
## 4 462.968
## 5 453.736
## 6 529.866
summary(pisa)
##      School           SchoolSize     ClassSize        STratio      
##  Min.   :70400001   Min.   : 113   Min.   :13.00   Min.   : 4.314  
##  1st Qu.:70400052   1st Qu.: 650   1st Qu.:38.00   1st Qu.:14.024  
##  Median :70400096   Median :1090   Median :38.00   Median :16.627  
##  Mean   :70400097   Mean   :1082   Mean   :40.57   Mean   :16.497  
##  3rd Qu.:70400143   3rd Qu.:1419   3rd Qu.:43.00   3rd Qu.:18.983  
##  Max.   :70400188   Max.   :4016   Max.   :53.00   Max.   :38.651  
##                                    NA's   :34                      
##    SchoolType        Area          Region          Age          Gender    
##  Min.   :1.000   REMOTE: 410   CENTRAL:2006   Min.   :15.33   Boys :2786  
##  1st Qu.:3.000   RURAL :2368   NORTH  :1958   1st Qu.:15.50   Girls:3040  
##  Median :3.000   URBAN :3048   SOUTH  :1862   Median :15.75               
##  Mean   :2.849                                Mean   :15.78               
##  3rd Qu.:3.000                                3rd Qu.:16.00               
##  Max.   :3.000                                Max.   :16.25               
##  NA's   :35                                                               
##      PARED            HISCED         WEALTH          INSTSCIE      
##  Min.   : 3.000   Min.   :0.00   Min.   :-7.635   Min.   :-1.9301  
##  1st Qu.: 9.000   1st Qu.:2.00   1st Qu.:-2.829   1st Qu.: 0.0125  
##  Median : 9.000   Median :2.00   Median :-2.163   Median : 0.3708  
##  Mean   : 9.374   Mean   :2.58   Mean   :-2.219   Mean   : 0.4835  
##  3rd Qu.:12.000   3rd Qu.:4.00   3rd Qu.:-1.504   3rd Qu.: 1.0218  
##  Max.   :17.000   Max.   :6.00   Max.   : 3.211   Max.   : 1.7359  
##  NA's   :14       NA's   :14     NA's   :15       NA's   :17       
##     JOYSCIE            ICTRES            Math            Read      
##  Min.   :-2.1154   Min.   :-3.508   Min.   :201.7   Min.   :107.1  
##  1st Qu.: 0.5094   1st Qu.:-2.587   1st Qu.:440.0   1st Qu.:442.5  
##  Median : 0.5094   Median :-1.855   Median :493.4   Median :489.5  
##  Mean   : 0.6448   Mean   :-1.795   Mean   :496.1   Mean   :489.9  
##  3rd Qu.: 1.1049   3rd Qu.:-1.117   3rd Qu.:551.5   3rd Qu.:537.6  
##  Max.   : 2.1635   Max.   : 3.497   Max.   :820.1   Max.   :744.1  
##  NA's   :19        NA's   :34                                      
##     Science     
##  Min.   :292.7  
##  1st Qu.:470.9  
##  Median :523.9  
##  Mean   :524.8  
##  3rd Qu.:574.8  
##  Max.   :807.3  
## 
table(pisa$Area)
## 
## REMOTE  RURAL  URBAN 
##    410   2368   3048
#Table này chỉ là hàm basic trong R
pisa$Area = factor(pisa$Area, levels = c('URBAN','RURAL', 'REMOTE'))
#factor là hàm để sắp xếp lại
#factor(x, levels =c('y')), x là biến sẽ được dùng để đếm, c('y') có thể bỏ trống, lúc này R sẽ xếpt theo thứ tự mặc định là a,b,c
#y lúc này phải ghi chính xác tên ở trong dữ liệu, ở đây là URBAN, RURAL,...
table(pisa$Area)
## 
##  URBAN  RURAL REMOTE 
##   3048   2368    410

Task 2: Mã hóa (coding)

pisa$Type[pisa$SchoolType == 1] = "Private"
pisa$Type[pisa$SchoolType == 3] = "Public"
table(pisa$Type)
## 
## Private  Public 
##     436    5355

Task 3: Phân tích mô tả pisa với package table1

library(table1)#Import package table`
## 
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-
table1(~ SchoolSize + ClassSize + Gender |Region, data = pisa)
CENTRAL
(n=2006)
NORTH
(n=1958)
SOUTH
(n=1862)
Overall
(n=5826)
SchoolSize
Mean (SD) 1110 (590) 1030 (515) 1110 (630) 1080 (581)
Median [Min, Max] 1140 [165, 4020] 936 [134, 2470] 1090 [113, 3370] 1090 [113, 4020]
ClassSize
Mean (SD) 40.7 (7.69) 40.5 (7.59) 40.5 (8.41) 40.6 (7.90)
Median [Min, Max] 43.0 [13.0, 53.0] 38.0 [13.0, 53.0] 43.0 [13.0, 53.0] 38.0 [13.0, 53.0]
Missing 0 (0%) 34 (1.7%) 0 (0%) 34 (0.6%)
Gender
Boys 953 (47.5%) 951 (48.6%) 882 (47.4%) 2786 (47.8%)
Girls 1053 (52.5%) 1007 (51.4%) 980 (52.6%) 3040 (52.2%)
#Biến điếm sẽ theo Region, phân theo từng mục welth, pared, math, read, science

Tiếp tục thử table1 với biến để đếm là Area

table1(~WEALTH + PARED + Math + Read + Science |Area, data = pisa)
URBAN
(n=3048)
RURAL
(n=2368)
REMOTE
(n=410)
Overall
(n=5826)
WEALTH
Mean (SD) -2.12 (1.16) -2.22 (1.08) -3.00 (1.25) -2.22 (1.16)
Median [Min, Max] -2.10 [-7.64, 3.21] -2.16 [-7.64, 1.43] -2.83 [-7.64, -0.0430] -2.16 [-7.64, 3.21]
Missing 2 (0.1%) 7 (0.3%) 6 (1.5%) 15 (0.3%)
PARED
Mean (SD) 9.56 (3.48) 9.38 (3.47) 7.90 (3.69) 9.37 (3.51)
Median [Min, Max] 9.00 [3.00, 17.0] 9.00 [3.00, 17.0] 9.00 [3.00, 17.0] 9.00 [3.00, 17.0]
Missing 1 (0.0%) 5 (0.2%) 8 (2.0%) 14 (0.2%)
Math
Mean (SD) 499 (79.3) 500 (81.9) 450 (82.0) 496 (81.5)
Median [Min, Max] 497 [202, 820] 498 [273, 818] 446 [216, 696] 493 [202, 820]
Read
Mean (SD) 496 (69.6) 491 (67.6) 440 (76.0) 490 (70.6)
Median [Min, Max] 495 [107, 718] 490 [292, 744] 439 [233, 643] 489 [107, 744]
Science
Mean (SD) 527 (72.8) 529 (75.5) 482 (74.4) 525 (75.0)
Median [Min, Max] 525 [293, 799] 529 [335, 807] 475 [307, 698] 524 [293, 807]

Task 4: Phân tích mô tả pisa với package compareGroup

library(compareGroups)#Gọi thư viện compareGroups
## Loading required package: SNPassoc
## Loading required package: haplo.stats
## Loading required package: survival
## Loading required package: mvtnorm
## Loading required package: parallel
## Registered S3 method overwritten by 'SNPassoc':
##   method            from       
##   summary.haplo.glm haplo.stats
t = compareGroups(Area ~ WEALTH + PARED + Math + Read + Science, data = pisa)
#Tạo object t với bảng được đếm theo 'Are' với các mục là WEALTHY, PARED, Math, Read, Science

createTable(t) #Hàm creaTable là hàm thuộc thư viện compareGroups, sẽ vẽ là 'bảng t'
## 
## --------Summary descriptives table by 'Area'---------
## 
## ________________________________________________________ 
##            URBAN        RURAL        REMOTE    p.overall 
##            N=3048       N=2368       N=410               
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
## WEALTH  -2.12 (1.16) -2.22 (1.08) -3.00 (1.25)  <0.001   
## PARED   9.56 (3.48)  9.38 (3.47)  7.90 (3.69)   <0.001   
## Math     499 (79.3)   500 (81.9)   450 (82.0)   <0.001   
## Read     496 (69.6)   491 (67.6)   440 (76.0)   <0.001   
## Science  527 (72.8)   529 (75.5)   482 (74.4)   <0.001   
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Nhớ lưu ý là createTable() thì Table phải viết hóa T, không phải là table

Thử theo Region

t1 = compareGroups(Region ~ SchoolSize + ClassSize + Gender, data = pisa)
createTable(t1) 
## 
## --------Summary descriptives table by 'Region'---------
## 
## __________________________________________________________ 
##              CENTRAL       NORTH        SOUTH    p.overall 
##               N=2006       N=1958      N=1862              
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
## SchoolSize  1110 (590)   1030 (515)  1108 (630)   <0.001   
## ClassSize  40.7 (7.69)  40.5 (7.59)  40.5 (8.41)   0.563   
## Gender:                                            0.715   
##     Boys   953 (47.5%)  951 (48.6%)  882 (47.4%)           
##     Girls  1053 (52.5%) 1007 (51.4%) 980 (52.6%)           
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
#Ưu điêm createTable so với table1 trong library table1 là cung cấp thêm chỉ số p

p.overall là p tối thiểu của từng cặp 2 chỉ số của biến Region => bảng trên chỉ là 1 ám chỉ( signal) thông báo với chúng ta rằng schoolsize phân theo central, north, south của biến Region có sự khác biệttreen1 căp nào đó có ý nghĩa thống kế, tuy nhiên k biết rõ là 2 cặp nào khác nhau, có thể là giữa Central và North, có thể Central và South cũng có thể North và South => lúc này ta phải làm tính toán để tính ( phân tích phương sai) và tìm ra cặp nào có sự khác biệt có ý nghĩa thống kê