Basic Form
### Import Data
data <- warfarin.mdvpk.1
split.column <- "AGE"
data <- data[data$DOSE == 120,]
data.select <- data[ data$MDV == 0 & data$AMT == 0, ]
### Rows where MDV == 0 and AMT == 0 (Good Rows for plotting x,y)
data.to.plot <- list()
data.to.plot$x <- data.select[,"TIME"] #x
data.to.plot$y <- data.select[,"DV"] #y
data.to.plot$ids <- data.select[,"ID"] #ids
data.to.plot$criteria <- data.select[,split.column]
x.min.lim <- 0
x.max.lim <- 150
y.min.lim <- 0
y.max.lim <- max(data.to.plot[["y"]])
data.to.plot$x.lim <- c(x.min.lim,x.max.lim)
data.to.plot$y.lim <- c(y.min.lim,y.max.lim)
quan <- warfarin.mdvpk.1[ warfarin.mdvpk.1$MDV == 0 & warfarin.mdvpk.1$AMT == 0, ]
quan.select <- quan[quan$DOSE == 120, ]
quantiles.to.plot <- list()
quantiles.to.plot$x <- quan.select[,"TIME"] #x
quantiles.to.plot$y <- quan.select[,"DV"] #y
quantiles.to.plot$alpha <- 0.05
#alpha (percent from 0 and 1, i.e. alpha == 0.05 for 5% and 95% intervals)
bw <- FALSE
library(lattice)
### End Import### Panel Function
function.of.panel <- function(
x,
y,
groups = groups,
data.to.plot.in.panel = data.to.plot,
quantiles.to.plot.in.panel = quantiles.to.plot,
black.and.white.in.panel = bw,
subscripts
){
cat("\n\n\nPacket", packet.number(),"\n")
#### Grid
plot.grid(
x.divisions = 10,
y.divisions = 10,
grid.color = "grey95",
x.limits = data.to.plot.in.panel[["x.lim"]],
y.limits = data.to.plot.in.panel[["y.lim"]]
)
### Quantiles
plot.quantiles(
quantile.data = quantiles.to.plot.in.panel
)
### ... More Panel Functions...
### Will be plotted in the order the functions are performed
}
### End Panel### Make Quantile Plot
lat.quantile <- xyplot(
y ~ x | as.factor(criteria),
# Remove '| as.factor(criteria)' if you do not want to split the data
data = data.to.plot,
type = NULL,
# Taken Care of in Panel
aspect=.5,
# X is twice as long as Y
groups = ids,
xlab = "X Label",
ylab = "Y Label",
xlim = c(
x.min.lim - 0.03*(x.max.lim-x.min.lim)*0.5,
x.max.lim + 0.03*(x.max.lim-x.min.lim)*0.5
),
#0.5 is to compensate for the aspect ratio (aspect)
ylim = c(
y.min.lim - 0.03*(y.max.lim-y.min.lim),
y.max.lim + 0.03*(y.max.lim-y.min.lim)
),
main = "TITLE",
panel = function.of.panel,
### Key contains suggested variations in a recommended plotting order
key = list(
title = "Legend",
text = list(
c("Administration Range", "Quantiles", "ID Lines", "Mean Line", "Loess Line","Points"),
col="black"
),
points = list(
col = c(
if(bw){c("grey25","grey35","black","black","black","black")
}else{c("green","grey35",rainbow(1,start=.56,end=.55),"darkred","black","black")}
),
pch = c(15,NA,NA,NA,NA,4),
cex = c(2,1,1,1,1,1)*0.75
),
lines = list(
col = c(
if(bw){c("grey25","grey35","black","black","black","black")
}else{c("green","grey35",rainbow(1,start=.56,end=.55),"darkred","black","black")}
),
lwd = c(1,2,1,2,1.4,1)*0.75,
lty = c("solid","dashed",if(bw){"dashed"}else{"solid"},"dotted","solid","blank")
),
type = "l",
space = "right",
cex.title = 1,
cex = 0.75
)
)### Change Color of Trellis Device and Plot Data trellis.device(color = !bw,new = FALSE,retain = FALSE)
### Plot Data print(lat.quantile)