|
|
|
||||
|
|
|||||
Figure 5.1
env <- environmental
env$ozone <- env$ozone ^ (1/3)
splom(~env,
sub = list("Figure 5.1",cex=.8),
varnames = c("Cube Root\nOzone\n(cube root ppb)",
"Solar\nRadiation\n(langleys)",
"Temperature\n(Degrees Fahrenheit)",
"Wind Speed\n(mph)"))
Figure 5.2
attach(environmental)
Temperature <- equal.count(temperature, 4, 1/2)
Wind <- equal.count(wind, 4, 1/2)
ans <- xyplot((environmental$ozone^(1/3)) ~ radiation | Temperature * Wind,
prepanel = function(x, y)
prepanel.loess(x, y, span = 1),
panel = function(x, y){
panel.grid(h = 2, v = 2)
panel.xyplot(x, y, cex = 1)
panel.loess(x, y, span = 1)
},
aspect = 2,
sub = list("Figure 5.2",cex=.8),
xlab = "Solar Radiation (langleys)",
ylab = "Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.3
attach(environmental)
Temperature <- equal.count(temperature, 4, 1/2)
Wind <- equal.count(wind, 4, 1/2)
ans <- xyplot((environmental$ozone^(1/3)) ~ radiation | Temperature * Wind,
prepanel = function(x, y)
prepanel.loess(x, y, span = 1),
panel = function(x, y){
panel.grid(h = 2, v = 2)
panel.xyplot(x, y, cex = 1)
panel.loess(x, y, span = 1)
},
aspect = 2,
sub = list("Figure 5.3",cex=.8),
xlab = "Solar Radiation (langleys)",
ylab = "Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.4
attach(environmental)
Radiation <- equal.count(radiation, 4, 1/2)
Temperature <- equal.count(temperature, 4, 1/2)
ans <- xyplot((environmental$ozone^(1/3)) ~ wind | Radiation * Temperature,
prepanel = function(x, y)
prepanel.loess(x, y, span = 1),
panel = function(x, y){
panel.grid(h = 2, v = 2)
panel.xyplot(x, y, cex = 1)
panel.loess(x, y, span = 1)
},
aspect = 2,
sub = list("Figure 5.4",cex=.8),
xlab = "Wind Speed (mph)",
ylab = "Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.5
attach(environmental)
Radiation <- equal.count(radiation, 4, 1/2)
Wind <- equal.count(wind, 4, 1/2)
ans <- xyplot((environmental$ozone^(1/3)) ~ temperature | Radiation * Wind,
prepanel = function(x, y)
prepanel.loess(x, y, span = 1),
panel = function(x, y) {
panel.grid(h = 2, v = 2)
panel.xyplot(x, y, cex = 1)
panel.loess(x, y, span = 1)
},
aspect = 2,
sub = list("Figure 5.5",cex=.8),
xlab = "Temperature (degrees F)",
ylab = "Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.6
attach(environmental)
env.tm <- loess((environmental$ozone^(1/3))~wind,span=2/3,degree=1,surface="d")
ws <- seq(min(wind),35,length=50)
env.wfit <- predict(env.tm, ws)
xlim <- range(ws)
ylim <- range(env.wfit, environmental$ozone^(1/3))
ans <- xyplot((environmental$ozone^(1/3)) ~ wind,
prepanel = substitute(function(x, y)
list(dx = diff(ws), dy = diff(env.wfit))),
panel = substitute(function(x,y){
add.line <- trellis.par.get("add.line")
panel.xyplot(x,y)
lines(ws, env.wfit, lwd = add.line$lwd,
lty = add.line$lty, col = add.line$col)
}),
xlim = xlim,
ylim = ylim,
aspect = 1,
sub = list("Figure 5.6",cex=.8),
xlab="Wind Speed (mph)",
ylab="Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.7
left <- xyplot(environmental$r ~ environmental$t,
aspect=1,
panel=function(x,y){
panel.xyplot(x,y)
panel.abline(h=range(y))
},
sub = list("Figure 5.7",cex=.8),
xlab = "Temperature (degrees F)",
ylab = "Radiation (langleys)")
right <- xyplot(environmental$t ~ environmental$w,
aspect=1,
panel=function(x,y){
panel.xyplot(x,y)
panel.abline(v=c(4,16),h=c(61,92))
panel.abline(112,-2)
panel.abline(87,-2)
},
sub = list("Figure 5.7",cex=.8),
xlab = "Wind Speed (mph)",
ylab = "Temperature (degrees F)")
print(left, split = c(1,1,2,1), more = T)
print(right, split = c(2,1,2,1))
invisible()
Figure 5.8
attach(environmental)
ind <- (wind > 4)&
(wind < 16)&
(temperature < (-2 * wind + 112))&
(temperature > (-2 * wind + 87))&
(temperature > 61)&
(temperature < 92)
splom(~environmental[ind, 2:4],
sub = list("Figure 5.8",cex=.8),
varnames = c("Solar\nRadiation\n(langleys)",
"Temperature\n(Degrees Fahrenheit)",
"Wind Speed\n(mph)"))
Figure 5.9
attach(environmental)
env.m <- loess((environmental$ozone^(1/3))~radiation*temperature*wind,
parametric=c("radiation","wind"),
span = 1,
degree = 2)
r.marginal <- seq(min(radiation),max(radiation),length=50)
t.marginal <- seq(61,92,length=5)
w.marginal <- seq(4,16,length=5)
twr.marginal <- list(temperature=t.marginal,wind=w.marginal,radiation=r.marginal)
twr.grid <- expand.grid(twr.marginal)
env.fit <- predict(env.m,twr.grid)
ind <- (twr.grid$wind>=4)&
(twr.grid$wind<=16)&
(twr.grid$temperature<(-2*twr.grid$wind+112))&
(twr.grid$temperature>(-2*twr.grid$wind+87))&
(twr.grid$temperature>=61)&
(twr.grid$temperature<=92)
env.fit[!ind] <- NA
Temp <- twr.grid$temperature
Wind <- twr.grid$wind
ans <- xyplot(env.fit ~ twr.grid$radiation | Temp * Wind,
panel = function(x, y)
if(!all(is.na(y))) { panel.grid(h = 2, v = 2)
panel.xyplot(x, y, type = "l")
},
aspect = 2,
sub = list("Figure 5.9",cex=.8),
xlab = "Solar Radiation (langleys)",
ylab = "Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.10
attach(environmental)
env.m <- loess((environmental$ozone^(1/3))~radiation*temperature*wind,
parametric=c("radiation","wind"),
span = 1,
degree = 2)
r.marginal <- seq(min(radiation),max(radiation),length=5)
t.marginal <- seq(61,92,length=5)
w.marginal <- seq(4,16,length=50)
twr.marginal <- list(temperature=t.marginal,wind=w.marginal,radiation=r.marginal)
twr.grid <- expand.grid(twr.marginal)
env.fit <- predict(env.m,twr.grid)
ind <- (twr.grid$wind>=4)&
(twr.grid$wind<=16)&
(twr.grid$temperature<(-2*twr.grid$wind+112))&
(twr.grid$temperature>(-2*twr.grid$wind+87))&
(twr.grid$temperature>=61)&
(twr.grid$temperature<=92)
env.fit[!ind] <- NA
Radiation <- twr.grid$radiation
Temp <- twr.grid$temperature
ans <- xyplot(env.fit ~ twr.grid$wind | Radiation * Temp,
panel=function(x, y) {
panel.grid(h = 2, v = 2)
panel.xyplot(x, y, type = "l")
},
aspect = 2,
sub = list("Figure 5.10",cex=.8),
xlab = "Wind Speed (mph)",
ylab = "Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.11
attach(environmental)
env.m <- loess((environmental$ozone^(1/3))~wind*radiation*temperature,
parametric=c("radiation","wind"),
span = 1,
degree = 2)
r.marginal <- seq(min(radiation),max(radiation),length=5)
t.marginal <- seq(61,92,length=50)
w.marginal <- seq(4,16,length=5)
#r.marginal <- seq(50,275,length=50)
twr.marginal <- list(temperature=t.marginal,wind=w.marginal,radiation=r.marginal)
twr.grid <- expand.grid(twr.marginal)
env.fit <- predict(env.m,twr.grid)
ind <- (twr.grid$wind>=4)&
(twr.grid$wind<=16)&
(twr.grid$temperature<(-2*twr.grid$wind+112))&
(twr.grid$temperature>(-2*twr.grid$wind+87))&
(twr.grid$temperature>=61)&
(twr.grid$temperature<=92)
env.fit[!ind] <- NA
Radiation <- twr.grid$radiation
Wind <- twr.grid$wind
ans <- xyplot(env.fit ~ twr.grid$temperature | Radiation * Wind,
panel = function(x, y) {
panel.grid(h = 2, v = 2)
panel.xyplot(x, y, type = "l")
},
aspect = 2,
sub = list("Figure 5.11",cex=.8),
xlab = "Temperature (Degrees Fahrenheit)",
ylab = "Cube Root Ozone (cube root ppb)")
detach()
ans
Figure 5.12
attach(environmental)
env.m <- loess(environmental$ozone ~ radiation * temperature * wind,
parametric = c("radiation", "wind"), span = 1, degree = 2)
ans <- xyplot(sqrt(abs(residuals(env.m))) ~ fitted.values(env.m),
panel = function(x, y){
panel.xyplot(x, y)
panel.loess(x, y, span = 1, family = "g")
},
aspect = 1,
las = 0, # tick labels parallel to axis
sub = list("Figure 5.12",cex=.8),
xlab = "Fitted Ozone (ppb)",
ylab = "Square Root Absolute Residual Ozone (square root ppb)")
detach()
ans
Figure 5.13
attach(environmental)
env.m <- loess(logb(environmental$ozone,2) ~ radiation * temperature * wind,
parametric = c("radiation", "wind"), span = 1, degree = 2)
ans <- xyplot(sqrt(abs(residuals(env.m))) ~ fitted.values(env.m),
panel = function(x, y){
panel.xyplot(x, y)
panel.loess(x, y, span = 1, family = "g")
},
aspect = 1,
las = 0, # tick labels parallel to axis
sub = list("Figure 5.13",cex=.8),
xlab = "Fitted Log Ozone (log 2 ppb)",
ylab = "Square Root Absolute Residual\nLog Ozone (square root absolute log 2 ppb)")
detach()
ans
Figure 5.14
attach(environmental)
env.m <- loess((environmental$ozone^(1/3)) ~ radiation * temperature * wind,
parametric = c("radiation", "wind"), span = 1, degree = 2, surface = "d")
ans <- xyplot(sqrt(abs(residuals(env.m))) ~ fitted.values(env.m),
panel = function(x, y){
panel.xyplot(x, y)
panel.loess(x, y, span = 1, family = "g")
},
aspect = 1,
las = 0, # tick labels parallel to axis
ylim = c(0, 1.2),
sub = list("Figure 5.14",cex=.8),
xlab = "Fitted Cube Root Ozone (cube root ppb)",
ylab = "Square Root Absolute Residual\nCube Root Ozone (sixth root ppb)")
detach()
ans
Figure 5.15
qqmath(~loess((ozone^(1/3))~radiation*temperature*wind,
data=environmental, parametric=c("radiation","wind"),
span = 1, degree = 2)$residuals,
prepanel = prepanel.qqmathline,
panel = function(x, y){
panel.xyplot(x,y)
panel.qqmathline(y, distribution = qnorm)
},
aspect=1,
sub = list("Figure 5.15",cex=.8),
xlab = "Unit Normal Quantile",
ylab = "Cube Root Ozone (cube root ppb)")
Figure 5.16
rfs(loess((ozone^(1/3))~radiation*temperature*wind,
data = environmental, parametric=c("radiation","wind"),
span=1, degree=2),
panel = function(x, y){
panel.grid()
panel.xyplot(x,y)
},
sub = list("Figure 5.16",cex=.8),
aspect=1.5,
ylab="Cube Root Ozone (cube root ppb)")
Figure 5.17
weight <- unlist(logb(hamster,2))
organ <- factor(unlist(col(hamster)),labels=names(hamster))
organ <- reorder.factor(organ,weight,median)
bwplot(organ ~ weight,
aspect = 0.3,
sub = list("Figure 5.17",cex=.8),
xlab="Log Organ Weight (Log 2 grams)")
Figure 5.18
splom(~logb(hamster,2),
sub = list("Figure 5.18",cex=.8), varnames = names(hamster))
Figure 5.19
splom(~logb(hamster, 2),
varnames = names(hamster),
sub = list("Figure 5.19",cex=.8),
panel = function(x, y){
plot.symbol <- trellis.par.get("plot.symbol")
panel.xyplot(x[-38], y[-38])
points(x[38], y[38], pch = "+", cex = 1.5,
font = plot.symbol$font, col = plot.symbol$col)
})
Figure 5.20
new.iris <- array(aperm(iris,c(1,3,2)),c(150,4))
set.seed(19)
for(i in 1:4)
new.iris[,i] <- jitter(new.iris[,i])
variety <- factor(rep(dimnames(iris)[[3]],rep(50,3)))
n <- length(levels(variety))
splom(~new.iris,
varnames = c("Sepal Length\n(cm)", "Sepal Width\n(cm)",
"Petal Length\n(cm)", "Petal Width\n(cm)"),
panel = panel.superpose,
groups = variety,
sub = list("Figure 5.20",cex=.8),
key = list(points = Rows(trellis.par.get("superpose.symbol"), 1:n),
text = list(paste("Iris", levels(variety))),
columns = n))
Image omitted
Figure 5.21
set.seed(19)
petal.length <- iris[,3,]
petal.width <- iris[,4,]
variety <- factor(rep(dimnames(iris)[[3]],rep(50,3)))
n <- length(levels(variety))
mea <- (logb(petal.length,2)+logb(petal.width,2))/2
dif <- jitter(logb(petal.length,2)-logb(petal.width,2), 2)
xyplot(dif ~ mea,
panel = function(...){
panel.superpose(...)
panel.abline(v = c(0.4, 1.46))
},
groups = variety,
aspect = 1,
sub = list("Figure 5.21",cex=.8),
xlab = "Size (log 2 cm)",
ylab = "Jittered Elongation (log 2 ratio)",
key = list(points = Rows(trellis.par.get("superpose.symbol"), 1:n),
text = list(paste("Iris", levels(variety))),
columns = n))
Image omitted
UCLA Researchers are invited to our Statistical Consulting Services
We recommend others to our list of Other Resources for Statistical Computing Help
These pages are Copyrighted (c) by UCLA Academic Technology Services