Skip to Main Content

Exploring Data with Graphics | R Learning Modules

We will be using the https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsb2-2.csv data set for
all examples on this page. Notice this page is done using R 2.4.1.

1. Univariate Plots

One of the great strengths of R is the graphics capabilities.
Not only is it very easy to generate great looking graphs, but it is very simply to extend the standard
graphics abilities to include conditional graphics. These are very useful both when exploring data and when
doing statistical analysis. For each type of graph we will start out looking at the basic graph and then show
how to modify the code to produce a conditional graph. In all the conditional plots we will be using the factor
variable ses.f. For more information on factor variables and how to generate them please refer to the
factor variable
learning module
.  Also, you will need to load the package "lattice"
before you start.  You can download "lattice" from the CRAN website
from within R by clicking on "Packages" and then "Install package(s) from CRAN". 

The first type of graph is a histogram plot.

hsb2 <- read.table('https://stats.idre.ucla.edu/wp-content/uploads/2016/02/hsb2-2.csv', header=T, sep=",")
attach(hsb2)
library(lattice)
#defining ses.f to be a factor variable
hsb2$ses.f = factor(hsb2$ses, labels=c("low", "middle", "high")) 

#histograms
histogram(~write, hsb2)
Image explor1

#conditional plot
histogram(~write | ses.f, hsb2)
Image explor2

Density plots

densityplot(~socst, hsb2)
Image explor3
#conditional plot
densityplot(~socst | ses.f, hsb2)
Image explor4

Quantile-quantile plots

qqmath(~write, hsb2)
Image explor5
#conditional plot
qqmath(~write | ses.f, hsb2)
Image explor6

Box and whiskers plots

bwplot(~math, hsb2)
Image explor7
#conditional plot
bwplot(ses.f~math, hsb2)
Image explor8

2. Multivariate Plots

Scatter plots

xyplot(write~math, hsb2)
Image explor9
#conditional plot
xyplot(write~math | ses.f, hsb2)
Image explor10

Scatter plot matrices

subset <- hsb2[ , 8:12] 
splom(~subset[ , 1:4])
Image explor11
#conditional plot
splom(~subset[, 1:3] | subset[, 5])
Image explor12

3. Examples of Plots Used in Statistical Analysis

In regression analysis it can be very helpful to use diagnostic plots to assess the fit of the model. In
R there are a number of built in plots that can be accessed with minimal
effort or code.

reg <- lm(write~math+socst+ses.f, hsb2)
par(mfrow=c(3,2))
plot(reg, which=1:2)
plot(reg, which=3:4)
plot(reg, which=5:6)
Image explor13
detach(hsb2)