#loading gapminder to get the dataset 'gapminder'
library(gapminder)
library(ggplot2)
library(ggthemes)
library(gridExtra)
library(table1)
##
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
##
## units, units<-
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
#Reading data PISA
t = "C:\\Users\\Admin\\Desktop\\Dataset thuc hanh\\PISA Data Vietnam 2015.csv"
pisa=read.csv(t)
head(pisa)
## School SchoolSize ClassSize STratio SchoolType Area Region Age Gender
## 1 70400001 883 18 22.075 3 URBAN SOUTH 15.58 Boys
## 2 70400001 883 18 22.075 3 URBAN SOUTH 15.92 Boys
## 3 70400001 883 18 22.075 3 URBAN SOUTH 15.42 Girls
## 4 70400001 883 18 22.075 3 URBAN SOUTH 15.58 Girls
## 5 70400001 883 18 22.075 3 URBAN SOUTH 15.92 Girls
## 6 70400001 883 18 22.075 3 URBAN SOUTH 16.25 Girls
## PARED HISCED WEALTH INSTSCIE JOYSCIE ICTRES Math Read Science
## 1 9 2 -2.0697 0.9798 2.1635 -1.5244 439.923 412.290 475.612
## 2 12 4 -1.7903 1.7359 2.1635 -1.9305 406.251 409.598 450.320
## 3 9 2 -2.1942 -0.2063 -0.1808 -1.6093 414.369 384.307 405.787
## 4 5 1 -2.0301 -0.3115 -0.4318 -1.6250 468.801 459.104 462.968
## 5 9 2 -1.0522 0.7648 1.3031 -0.5305 355.432 402.435 453.736
## 6 5 1 -3.0570 0.3708 0.5094 -2.5873 458.955 483.885 529.866
dim(pisa)
## [1] 5826 18
table1(~Region+Area+SchoolType+Math+Read+Science|Area,data=pisa)
| REMOTE (n=410) |
RURAL (n=2368) |
URBAN (n=3048) |
Overall (n=5826) |
|
|---|---|---|---|---|
| Region | ||||
| CENTRAL | 198 (48.3%) | 857 (36.2%) | 951 (31.2%) | 2006 (34.4%) |
| NORTH | 148 (36.1%) | 764 (32.3%) | 1046 (34.3%) | 1958 (33.6%) |
| SOUTH | 64 (15.6%) | 747 (31.5%) | 1051 (34.5%) | 1862 (32.0%) |
| Area | ||||
| REMOTE | 410 (100%) | 0 (0%) | 0 (0%) | 410 (7.0%) |
| RURAL | 0 (0%) | 2368 (100%) | 0 (0%) | 2368 (40.6%) |
| URBAN | 0 (0%) | 0 (0%) | 3048 (100%) | 3048 (52.3%) |
| SchoolType | ||||
| Mean (SD) | 3.00 (0.00) | 2.89 (0.464) | 2.80 (0.600) | 2.85 (0.528) |
| Median [Min, Max] | 3.00 [3.00, 3.00] | 3.00 [1.00, 3.00] | 3.00 [1.00, 3.00] | 3.00 [1.00, 3.00] |
| Missing | 0 (0%) | 0 (0%) | 35 (1.1%) | 35 (0.6%) |
| Math | ||||
| Mean (SD) | 450 (82.0) | 500 (81.9) | 499 (79.3) | 496 (81.5) |
| Median [Min, Max] | 446 [216, 696] | 498 [273, 818] | 497 [202, 820] | 493 [202, 820] |
| Read | ||||
| Mean (SD) | 440 (76.0) | 491 (67.6) | 496 (69.6) | 490 (70.6) |
| Median [Min, Max] | 439 [233, 643] | 490 [292, 744] | 495 [107, 718] | 489 [107, 744] |
| Science | ||||
| Mean (SD) | 482 (74.4) | 529 (75.5) | 527 (72.8) | 525 (75.0) |
| Median [Min, Max] | 475 [307, 698] | 529 [335, 807] | 525 [293, 799] | 524 [293, 807] |
temp=compareGroups(Area~PARED + WEALTH + Math + Read +Science, data = pisa)
createTable(temp)
##
## --------Summary descriptives table by 'Area'---------
##
## ________________________________________________________
## REMOTE RURAL URBAN p.overall
## N=410 N=2368 N=3048
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
## PARED 7.90 (3.69) 9.38 (3.47) 9.56 (3.48) <0.001
## WEALTH -3.00 (1.25) -2.22 (1.08) -2.12 (1.16) <0.001
## Math 450 (82.0) 500 (81.9) 499 (79.3) <0.001
## Read 440 (76.0) 491 (67.6) 496 (69.6) <0.001
## Science 482 (74.4) 529 (75.5) 527 (72.8) <0.001
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
#Histogram
# Simple histogram of Math using ggplot2
p1 = ggplot(data =pisa,aes(x=Math))
p1 = p1 + geom_histogram(fill="blue",color="white")
p1 + labs(x="Math Score", y = "Number of students")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
# Simple histogram of Math with probability and density line
p2 = ggplot(data =pisa,aes(x=Math))
p2 = p2 + geom_histogram(aes(y=..density..),color="white",fill="blue")
p2 = p2 + geom_density(col="red")
p2 + labs(x = "Math Score", y = "Probabiility")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
# Histogram of Math by Gender
p3 = ggplot(data =pisa,aes(x=Math, fill = Gender))
p3 = p3 + geom_histogram(position="dodge")
p3 + labs(x = "Math Score", y = "Number of students")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p4 = ggplot(data =pisa,aes(x=Math, fill = Area, color = Area))
p4 = p4 + geom_density(alpha= 0.1)
p4 + labs(x = "Math Score", y = "Density")
grid.arrange(p1,p2,p3,p4,ncol=2)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
# Barplot
# Number of students by Area
p = ggplot(data =pisa,aes(x=Area, fill = Area, col = Area))
p + geom_bar(position = "dodge")
# Number of students by Area and Gender ~ dodge
p = ggplot(data =pisa,aes(x=Area, fill = Gender, col=Gender))
p + geom_bar(position = "dodge")
# Stack bar
p = ggplot(data =pisa,aes(x=Area, fill = Gender, col=Gender))
p + geom_bar(position = "stack")
# Stack bar by Region, Area and Gender
p = ggplot(data =pisa,aes(x=Area, fill = Gender, col=Gender))
p + geom_bar(position = "stack") + facet_grid(~Region)
# Boxplot
# Simple boxplot for Math by Gender
p = ggplot(data =pisa,aes(x=Gender, y = Math, fill = Gender))
p + geom_boxplot()
#Simple boxplot for Math by Area and Gender
p = ggplot(data =pisa,aes(x=Gender, y = Math, fill = Gender))
p + geom_boxplot() + facet_grid(~Area)
# Simple boxplot for Math by Area and Gender with jitter
p = ggplot(data =pisa,aes(x=Gender, y = Math, fill = Gender, col = Gender))
p = p + geom_boxplot(col="black") + geom_jitter(alpha = 0.1)
p + facet_grid(~Area)
# Scatter plot
# Simple correlation between WEALTH and Science
p = ggplot(data=pisa,aes(x=WEALTH, y = Science))
p+geom_point()
## Warning: Removed 15 rows containing missing values (geom_point).
# Simple correlation between WEALTH and Science by Area
p = ggplot(data=pisa,aes(x=WEALTH, y = Science, col =Area ))
p+geom_point()
## Warning: Removed 15 rows containing missing values (geom_point).
# Simple correlation between WEALTH and Science by Area and smooth
p = ggplot(data=pisa,aes(x=WEALTH, y = Science, col =Area ))
p+geom_point() + geom_smooth(method="lm", se = F)
## Warning: Removed 15 rows containing non-finite values (stat_smooth).
## Warning: Removed 15 rows containing missing values (geom_point).
theme_economist()
## List of 69
## $ line :List of 6
## ..$ colour : chr "black"
## ..$ size : num 0.455
## ..$ linetype : num 1
## ..$ lineend : chr "butt"
## ..$ arrow : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_line" "element"
## $ rect :List of 5
## ..$ fill : Named chr NA
## .. ..- attr(*, "names")= chr NA
## ..$ colour : logi NA
## ..$ size : num 0.455
## ..$ linetype : num 1
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ text :List of 11
## ..$ family : chr "sans"
## ..$ face : chr "plain"
## ..$ colour : chr "black"
## ..$ size : num 10
## ..$ hjust : num 0.5
## ..$ vjust : num 0.5
## ..$ angle : num 0
## ..$ lineheight : num 0.9
## ..$ margin : 'margin' num [1:4] 0pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.title.x :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 2.5pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.title.x.top :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 0
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 2.5pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.title.y :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 1
## ..$ angle : num 90
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 2.5pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.title.y.right :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 0
## ..$ angle : num -90
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 0pt 2.5pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text.x :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 0
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 10pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text.x.top :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : num 0
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 2pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text.y :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : num 0
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 10pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.text.y.right :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : num 0
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 0pt 2pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.ticks :List of 6
## ..$ colour : NULL
## ..$ size : NULL
## ..$ linetype : NULL
## ..$ lineend : NULL
## ..$ arrow : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_line" "element"
## $ axis.ticks.length : 'unit' num -5points
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "points"
## $ axis.ticks.length.x : NULL
## $ axis.ticks.length.x.top : NULL
## $ axis.ticks.length.x.bottom: NULL
## $ axis.ticks.length.y : NULL
## $ axis.ticks.length.y.left : NULL
## $ axis.ticks.length.y.right : NULL
## $ axis.line :List of 6
## ..$ colour : NULL
## ..$ size : 'rel' num 0.8
## ..$ linetype : NULL
## ..$ lineend : NULL
## ..$ arrow : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_line" "element"
## $ axis.line.x : NULL
## $ axis.line.y : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ legend.background :List of 5
## ..$ fill : NULL
## ..$ colour : logi NA
## ..$ size : NULL
## ..$ linetype : num 0
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ legend.margin : 'margin' num [1:4] 5pt 5pt 5pt 5pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ legend.spacing : 'unit' num 15points
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "points"
## $ legend.spacing.x : NULL
## $ legend.spacing.y : NULL
## $ legend.key :List of 5
## ..$ fill : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ linetype : num 0
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ legend.key.size : 'unit' num 1.2lines
## ..- attr(*, "valid.unit")= int 3
## ..- attr(*, "unit")= chr "lines"
## $ legend.key.height : NULL
## $ legend.key.width : NULL
## $ legend.text :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1.25
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ legend.text.align : NULL
## $ legend.title :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1
## ..$ hjust : num 0
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ legend.title.align : NULL
## $ legend.position : chr "top"
## $ legend.direction : NULL
## $ legend.justification : chr "center"
## $ legend.box : NULL
## $ legend.box.margin : 'margin' num [1:4] 0cm 0cm 0cm 0cm
## ..- attr(*, "valid.unit")= int 1
## ..- attr(*, "unit")= chr "cm"
## $ legend.box.background : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ legend.box.spacing : 'unit' num 10pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ panel.background :List of 5
## ..$ fill : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ linetype : num 0
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ panel.border : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ panel.spacing : 'unit' num 0.25lines
## ..- attr(*, "valid.unit")= int 3
## ..- attr(*, "unit")= chr "lines"
## $ panel.spacing.x : NULL
## $ panel.spacing.y : NULL
## $ panel.grid :List of 6
## ..$ colour : NULL
## ..$ size : NULL
## ..$ linetype : NULL
## ..$ lineend : NULL
## ..$ arrow : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_line" "element"
## $ panel.grid.minor : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ panel.ontop : logi FALSE
## $ plot.background :List of 5
## ..$ fill : Named chr "#d5e4eb"
## .. ..- attr(*, "names")= chr "blue-gray"
## ..$ colour : logi NA
## ..$ size : NULL
## ..$ linetype : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ plot.title :List of 11
## ..$ family : NULL
## ..$ face : chr "bold"
## ..$ colour : NULL
## ..$ size : 'rel' num 1.5
## ..$ hjust : num 0
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 5pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.subtitle :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : num 0
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 0pt 0pt 5pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.caption :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 0.8
## ..$ hjust : num 1
## ..$ vjust : num 1
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 5pt 0pt 0pt 0pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.tag :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1.2
## ..$ hjust : num 0.5
## ..$ vjust : num 0.5
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ plot.tag.position : chr "topleft"
## $ plot.margin : 'unit' num [1:4] 12points 10points 12points 10points
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "points"
## $ strip.background :List of 5
## ..$ fill : Named chr NA
## .. ..- attr(*, "names")= chr NA
## ..$ colour : logi NA
## ..$ size : NULL
## ..$ linetype : num 0
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_rect" "element"
## $ strip.placement : chr "inside"
## $ strip.text :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1.25
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : 'margin' num [1:4] 4pt 4pt 4pt 4pt
## .. ..- attr(*, "valid.unit")= int 8
## .. ..- attr(*, "unit")= chr "pt"
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ strip.text.x :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ strip.text.y :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : NULL
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : num -90
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ strip.switch.pad.grid : 'unit' num 2.5pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ strip.switch.pad.wrap : 'unit' num 2.5pt
## ..- attr(*, "valid.unit")= int 8
## ..- attr(*, "unit")= chr "pt"
## $ axis.title :List of 11
## ..$ family : NULL
## ..$ face : NULL
## ..$ colour : NULL
## ..$ size : 'rel' num 1
## ..$ hjust : NULL
## ..$ vjust : NULL
## ..$ angle : NULL
## ..$ lineheight : NULL
## ..$ margin : NULL
## ..$ debug : NULL
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_text" "element"
## $ axis.ticks.y : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## $ panel.grid.major :List of 6
## ..$ colour : chr "white"
## ..$ size : 'rel' num 1.75
## ..$ linetype : NULL
## ..$ lineend : NULL
## ..$ arrow : logi FALSE
## ..$ inherit.blank: logi TRUE
## ..- attr(*, "class")= chr [1:2] "element_line" "element"
## $ panel.grid.major.x : list()
## ..- attr(*, "class")= chr [1:2] "element_blank" "element"
## - attr(*, "class")= chr [1:2] "theme" "gg"
## - attr(*, "complete")= logi TRUE
## - attr(*, "validate")= logi TRUE
# Correlation between Math, Science, Read by Area
library(GGally)
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
dat = pisa[, c("Area", "Math", "Science", "Read")]
ggpairs(data=dat, mapping = aes(color=Area))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.