Import data.
str(airquality)
## 'data.frame': 153 obs. of 6 variables:
## $ Ozone : int 41 36 12 18 NA 28 23 19 8 NA ...
## $ Solar.R: int 190 118 149 313 NA NA 299 99 19 194 ...
## $ Wind : num 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...
## $ Temp : int 67 72 74 62 56 66 65 59 61 69 ...
## $ Month : int 5 5 5 5 5 5 5 5 5 5 ...
## $ Day : int 1 2 3 4 5 6 7 8 9 10 ...
data = as.data.frame(na.omit(airquality))
Produce a box plot.
boxplot(data$Ozone ~ data$Month, data=data,
xlab="Month", ylab="Ozone",
col=c("red", "blue", "green", "pink", "darkorange"))
Add mean and points.
boxplot(data$Ozone ~ data$Month, data=data,
xlab="Month", ylab="Ozone",
col=c("red", "blue", "green", "pink", "darkorange"))
means = tapply(data$Ozone, data$Month, mean)
points(means, pch=8, cex=1.1, col="red")
stripchart(data$Ozone ~ data$Month, data=data,
method="jitter", vertical=TRUE, add=TRUE,
cex=0.5, pch=18, col="black")
Produce a notched box plot.
boxplot(data$Ozone ~ data$Month, data=data,
notch=TRUE, varwidth=FALSE,
xlab="Month", ylab="Ozone",
col=c("red", "blue", "green", "pink", "darkorange"))
Produce a violin plot.
library(sm)
library(vioplot)
x1 = data$Ozone[data$Month==5]
x2 = data$Ozone[data$Month==6]
x3 = data$Ozone[data$Month==7]
x4 = data$Ozone[data$Month==8]
x5 = data$Ozone[data$Month==9]
vioplot(x1, x2, x3, x4, x5,
names=c("Month5","Month6","Month7","Month8","Month9"),
col="gold")
Produce a box plot with two factors.
for(i in 1:length(data$Temp)){
if(data$Temp[i]<75){
data$Temp[i] = 0
}
else{
data$Temp[i] = 1
}
}
data$Temp.f = factor(data$Temp, levels=c(0,1), labels=c("warm","hot"))
for(i in 1:length(data$Wind)){
if(data$Wind[i]<10){
data$Wind[i] = 0
}
else{
data$Wind[i] = 1
}
}
data$Wind.f <- factor(data$Wind, levels=c(0,1), labels=c("nonwindy","windy"))
boxplot(data$Ozone ~ data$Temp.f*data$Wind.f,
data=data, varwidth=FALSE, xlab="Environment Type",
col=c("gold","darkgreen"))