Для этого на одной панели требуется некоторая реорганизация. Сначала я сгенерирую примерный набор данных с такой же структурой, как у вас
library(lattice)
Data <- data.frame(groupname = factor(rep(c('Control',paste('Treatment',1:7,sep='')),each = 100)),
fCycle = factor(rep(rep(c('Dark','Light'),each = 50),8)),
totdist = sample(unlist(iris),800,replace = TRUE))
Затем добавьте переменную, чтобы различать лечение и контроль (т.е. "Treatment2"
перекодируется как "Treatment"
и т. Д.)
Data$groupname2 <- factor(gsub('[1-9]','',as.character(Data$groupname)))
Затем переставьте набор данных так, чтобы каждой группе лечения была предоставлена копия контрольных данных
Data2 <- NULL
for(treat in paste('Treatment',1:7,sep='')){
Data2 <- rbind(Data2,
cbind(rbind(Data[Data$groupname == treat,],Data[Data$groupname == 'Control',]),
treat))
}
Наконец, мы можем сделать желаемый график
qq(groupname2~totdist|fCycle*treat, data=Data2)
Если вам нужны отдельные графики для каждой обработки, тогда цикл будет лучше
pdf('treatVsContQq.pdf')
for(treat in paste('Treatment',1:7,sep='')){
print(qq(groupname~totdist|fCycle, data=Data,
subset=(groupname=='Control'|groupname==treat)))
}
dev.off()