PISA DATA Vietnam 2015.csv vào R và gọi đối tượng là pissadim(pisa)#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)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)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
##
factortable(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
Type. Nếu SchoolType == 1 thì Type = "Private"; nếu SchoolType == 3 thì Type = Publicpisa$Type[pisa$SchoolType == 1] = "Private"
pisa$Type[pisa$SchoolType == 3] = "Public"
table(pisa$Type)
##
## Private Public
## 436 5355
table1library(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] |
compareGrouplibrary(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ê