Task 1: Đọc dữ liệu

t = "F:\\NCKH - PHAN TICH THONG KE\\BAI GIANG CAC KHOA PT DL\\Kho hoc - Du lieu da tang SG1.2020\\Data for practice\\PISA Data Vietnam 2015.csv"
pisa = read.csv(t, header = T)
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
# Xem kich thuoc bang du lieu (so hang, cot)
dim(pisa) 
## [1] 5826   18
# Tom tat du lieu
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  
## 
str(pisa)
## 'data.frame':    5826 obs. of  18 variables:
##  $ School    : int  70400001 70400001 70400001 70400001 70400001 70400001 70400001 70400001 70400001 70400001 ...
##  $ SchoolSize: int  883 883 883 883 883 883 883 883 883 883 ...
##  $ ClassSize : int  18 18 18 18 18 18 18 18 18 18 ...
##  $ STratio   : num  22.1 22.1 22.1 22.1 22.1 ...
##  $ SchoolType: int  3 3 3 3 3 3 3 3 3 3 ...
##  $ Area      : Factor w/ 3 levels "REMOTE","RURAL",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Region    : Factor w/ 3 levels "CENTRAL","NORTH",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Age       : num  15.6 15.9 15.4 15.6 15.9 ...
##  $ Gender    : Factor w/ 2 levels "Boys","Girls": 1 1 2 2 2 2 2 2 2 1 ...
##  $ PARED     : int  9 12 9 5 9 5 3 5 9 5 ...
##  $ HISCED    : int  2 4 2 1 2 1 0 1 2 1 ...
##  $ WEALTH    : num  -2.07 -1.79 -2.19 -2.03 -1.05 ...
##  $ INSTSCIE  : num  0.98 1.736 -0.206 -0.311 0.765 ...
##  $ JOYSCIE   : num  2.163 2.163 -0.181 -0.432 1.303 ...
##  $ ICTRES    : num  -1.52 -1.93 -1.61 -1.62 -0.53 ...
##  $ Math      : num  440 406 414 469 355 ...
##  $ Read      : num  412 410 384 459 402 ...
##  $ Science   : num  476 450 406 463 454 ...

Task 2: Mã hóa dữ liệu

# Liet ke so luong quan sat trong moi level, mac dinh sap xep cac level theo A,B,C,...
table(pisa$Area) 
## 
## REMOTE  RURAL  URBAN 
##    410   2368   3048
# dung ham factor de sap xep thu tu cac level cua bien Areas theo ý minh
pisa$Area = factor(pisa$Area, levels = c("URBAN", "RURAL", "REMOTE")) 
# Xem cac truong level cua bien SchoolType
table(pisa$SchoolType) 
## 
##    1    3 
##  436 5355
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ả với Package “table1”

# Phan tich mo ta voi package "table 1" - Mo ta theo mien
  ## install.packages("table1", dependencies = T)
library(table1)
## 
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-
table1 (~ WEALTH + PARED + Math + Read + Science | Region , data = pisa)
CENTRAL
(n=2006)
NORTH
(n=1958)
SOUTH
(n=1862)
Overall
(n=5826)
WEALTH
Mean (SD) -2.40 (1.12) -2.18 (1.18) -2.06 (1.14) -2.22 (1.16)
Median [Min, Max] -2.33 [-7.64, 1.41] -2.14 [-7.64, 2.63] -2.03 [-7.64, 3.21] -2.16 [-7.64, 3.21]
Missing 6 (0.3%) 8 (0.4%) 1 (0.1%) 15 (0.3%)
PARED
Mean (SD) 9.49 (3.44) 9.76 (3.51) 8.85 (3.54) 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 3 (0.1%) 9 (0.5%) 2 (0.1%) 14 (0.2%)
Math
Mean (SD) 492 (86.5) 501 (84.4) 496 (72.2) 496 (81.5)
Median [Min, Max] 488 [202, 818] 500 [251, 820] 494 [241, 719] 493 [202, 820]
Read
Mean (SD) 488 (74.3) 489 (72.4) 493 (64.4) 490 (70.6)
Median [Min, Max] 486 [233, 744] 489 [107, 718] 493 [272, 698] 489 [107, 744]
Science
Mean (SD) 524 (79.8) 523 (76.6) 528 (67.3) 525 (75.0)
Median [Min, Max] 520 [307, 807] 522 [293, 775] 528 [337, 761] 524 [293, 807]
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ả với Package “compareGroups”

# Phan tich mo ta voi package "compareGroups" theo mien nhung hon table1 la cung cap them tri so p. Doi voi bien phan loai, tri so p cung duoc tinh theo Chi-Square
  ## install.packages("compareGroups", dependencies = T)
library(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)
createTable(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   
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
t1 = compareGroups(Gender ~ WEALTH + PARED + Math + Read + Science, data = pisa)
createTable(t1)
## 
## --------Summary descriptives table by 'Gender'---------
## 
## ___________________________________________ 
##             Boys        Girls     p.overall 
##            N=2786       N=3040              
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
## WEALTH  -2.20 (1.14) -2.24 (1.17)   0.250   
## PARED   9.52 (3.48)  9.24 (3.54)    0.002   
## Math     498 (84.1)   495 (79.1)    0.152   
## Read     479 (72.8)   500 (67.1)   <0.001   
## Science  526 (77.1)   524 (72.9)    0.343   
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
t2 = compareGroups(Gender ~ Area + WEALTH + PARED + Math + Read + Science, data = pisa)
createTable(t2)
## 
## --------Summary descriptives table by 'Gender'---------
## 
## ______________________________________________ 
##                Boys        Girls     p.overall 
##               N=2786       N=3040              
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
## Area:                                  0.034   
##     URBAN  1460 (52.4%) 1588 (52.2%)           
##     RURAL  1106 (39.7%) 1262 (41.5%)           
##     REMOTE 220 (7.90%)  190 (6.25%)            
## WEALTH     -2.20 (1.14) -2.24 (1.17)   0.250   
## PARED      9.52 (3.48)  9.24 (3.54)    0.002   
## Math        498 (84.1)   495 (79.1)    0.152   
## Read        479 (72.8)   500 (67.1)   <0.001   
## Science     526 (77.1)   524 (72.9)    0.343   
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯