Module 3 - University of Kentucky

R Workshop Module 3: Plotting Data in R
Katherine Thompson ([email protected])
Department of Statistics, University of Kentucky
October 7, 2016
#########################################
## Scatterplot Matrices
#########################################
## Make a scatterplot matrix of practice data
plot(practicedata,
pch=19)
6
10
14
1.0
1.4
1.8
1.0
1.4
1.8
5
expvar
6
toyvar
6
toyvar2
1.0
groupvar
30
respvar
1.0
groupvar2
5 6 7 8 9
6
10
14
30
50
## Instead of plotting groupvar, color points according to groupvar
plot(practicedata[,colnames(practicedata)!='groupvar'],
pch=19,col=practicedata$groupvar)
6 8
12
16
30
40
50
60
16
5
9
expvar
16
6
toyvar
6
toyvar2
groupvar2
5
6
7
8
9 10
6
8
1
12
16
1.0
1.4
1.8
1.0
30
respvar
## Also remove groupvar2 from plot
plot(practicedata[,-c(4,6)],
pch=19,col=practicedata$groupvar)
6
8
10 12 14 16
30
40
50
14
5
8
expvar
60
14
6
toyvar
60
6
toyvar2
30
respvar
5
6
7
8
9
10
6
8
10 12 14 16
#########################################
## Triangle Plot
#########################################
#install.packages('ade4') # Install package once per computer
library(ade4)
## Warning:
package ’ade4’ was built under R version 3.3.1
## Make a triangle plot of the data
triangle.plot(practicedata[,c('expvar','toyvar','respvar')])
## Error in if (min(ta) < 0) stop("Non convenient data"):
missing value where TRUE/FALSE needed
## Correct error in plot by removing observations with missing data
triangledata=na.omit(practicedata[,c('expvar','toyvar','toyvar2')])
triangle.plot(triangledata)
2
0.2
0.6
expvar
0.6
0.2
toyvar2
toyvar
0.2
0.6
#########################################
## Heat Map
#########################################
#install.packages('plotly') # Install package once per computer
library(plotly)
myx=-5:5
myy=6:10
## Make heat map
plot_ly(z=as.matrix(heatmapdata),
y=myx,
x=myy,
type = "heatmap")
## Alternative to heat map
plot(myx,heatmapdata[,1],type='n',ylim=range(heatmapdata),
xlab='x',ylab='Response') ## Gives an error since data is not a matrix
## Convert data to a matrix
plot(myx,heatmapdata[,1],type='n',ylim=range(heatmapdata),
xlab='x',ylab='Response')
lines(myx,heatmapdata[,1],col=1)
lines(myx,heatmapdata[,2],col=2)
lines(myx,heatmapdata[,3],col=3)
lines(myx,heatmapdata[,4],col=4)
lines(myx,heatmapdata[,5],col=5)
legend('topleft',
legend=paste0('y=',myy),
col=1:5,
lty=1)
3