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)

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

Density plots

densityplot(~socst, hsb2)

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

Quantile-quantile plots

qqmath(~write, hsb2)

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

Box and whiskers plots

bwplot(~math, hsb2)

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

## 2. Multivariate Plots

Scatter plots

xyplot(write~math, hsb2)

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

Scatter plot matrices

subset <- hsb2[ , 8:12] splom(~subset[ , 1:4])

#conditional plot splom(~subset[, 1:3] | subset[, 5])

## 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)

detach(hsb2)