Nothing
#' Utils: Experimental sketch
#'
#' @description Experimental sketching function
#' @author Gabriel Danilo Shimizu, \email{shimizu@uel.br}
#' @author Leandro Simoes Azeredo Goncalves
#' @author Rodrigo Yudi Palhaci Marubayashi
#' @name sketch
#' @param trat Vector with factor A levels
#' @param trat1 Vector with levels of factor B (Set to NULL if not factorial or psub)
#' @param trat2 Vector with levels of factor C (Set to NULL if not factorial)
#' @param r Number of repetitions
#' @param design Experimental design (see note)
#' @param pos Repeat position (line or column),
#' @param color.sep Color box
#' @param ID plot Add only identification in sketch
#' @param print.ID Print table ID
#' @param label.x text in x
#' @param label.y text in y
#' @param labelsize Label size
#' @param legendsize Title legend size
#' @param axissize Axis size
#' @param add.streets.x Adds streets by separating treatments in row or column. The user must supply a numeric vector grouping the rows or columns that must be together. See the example.
#' @param add.streets.y Adds streets by separating treatments in row or column. The user must supply a numeric vector grouping the rows or columns that must be together. See the example.
#' @param export.csv Save table template based on sketch in csv
#' @param comment.caption Add comment in caption
#' @importFrom utils write.csv
#' @keywords croqui
#' @keywords experimental
#' @return Returns an experimental sketch according to the specified design.
#' @note The sketches have only a rectangular shape, and the blocks (in the case of randomized blocks) can be in line or in a column.
#' @note For the design argument, you can choose from the following options:
#' \describe{
#' \item{\code{design="DIC"}}{Completely randomized design}
#' \item{\code{design="DBC"}}{Randomized block design}
#' \item{\code{design="DQL"}}{Latin square design}
#' \item{\code{design="FAT2DIC"}}{DIC experiments in double factorial}
#' \item{\code{design="FAT2DBC"}}{DBC experiments in double factorial}
#' \item{\code{design="FAT3DIC"}}{DIC experiments in triple factorial}
#' \item{\code{design="FAT3DBC"}}{DBC experiments in triple factorial}
#' \item{\code{design="PSUBDIC"}}{DIC experiments in split-plot}
#' \item{\code{design="PSUBDBC"}}{DBC experiments in split-plot}
#' \item{\code{design="PSUBSUBDBC"}}{DBC experiments in split-split-plot}
#' \item{\code{design="STRIP-PLOT"}}{Strip-plot DBC experiments}
#' }
#' @note For the color.sep argument, you can choose from the following options:
#' \describe{
#' \item{\code{design="DIC"}}{use "all" or "none"}
#' \item{\code{design="DBC"}}{use "all","bloco" or "none"}
#' \item{\code{design="DQL"}}{use "all", "column", "line" or "none"}
#' \item{\code{design="FAT2DIC"}}{use "all", "f1", "f2" or "none"}
#' \item{\code{design="FAT2DBC"}}{use "all", "f1", "f2", "block" or "none"}
#' \item{\code{design="FAT3DIC"}}{use "all", "f1", "f2", "f3" or "none"}
#' \item{\code{design="FAT3DBC"}}{use "all", "f1", "f2", "f3", "block" or "none"}
#' \item{\code{design="PSUBDIC"}}{use "all", "f1", "f2" or "none"}
#' \item{\code{design="PSUBDBC"}}{use "all", "f1", "f2", "block" or "none"}
#' \item{\code{design="PSUBSUBDBC"}}{use "all", "f1", "f2", "f3", "block" or "none"}
#' }
#'
#' @references
#' Mendiburu, F., & de Mendiburu, M. F. (2019). Package ‘agricolae’. R Package, Version, 1-2.
#' @export
#' @examples
#' Trat=paste("Tr",1:6)
#'
#' #=============================
#' # Completely randomized design
#' #=============================
#' sketch(Trat,r=3)
#' sketch(Trat,r=3,pos="column")
#' sketch(Trat,r=3,color.sep="none")
#' sketch(Trat,r=3,color.sep="none",ID=TRUE,print.ID=TRUE)
#' sketch(Trat,r=3,pos="column",add.streets.x=c(1,1,2,2,3,3))
#'
#' #=============================
#' # Randomized block design
#' #=============================
#' sketch(Trat, r=3, design="DBC")
#' sketch(Trat, r=3, design="DBC",pos="column")
#' sketch(Trat, r=3, design="DBC",pos="column",add.streets.x=c(1,1,2))
#' sketch(Trat, r=3, design="DBC",pos="column",add.streets.x=c(1,2,3), add.streets.y=1:6)
#' sketch(Trat, r=3, design="DBC",pos="line",add.streets.y=c(1,2,3), add.streets.x=1:6)
#'
#' #=============================
#' # Completely randomized experiments in double factorial
#' #=============================
#' sketch(trat=c("A","B"),
#' trat1=c("A","B","C"),
#' design = "FAT2DIC",
#' r=3)
#'
#' sketch(trat=c("A","B"),
#' trat1=c("A","B","C"),
#' design = "FAT2DIC",
#' r=3,
#' pos="column")
sketch=function(trat,
trat1=NULL,
trat2=NULL,
r,
design="DIC",
pos="line",
color.sep="all",
ID=FALSE,
print.ID=TRUE,
add.streets.y=NA,
add.streets.x=NA,
label.x="",
label.y="",
axissize=12,
legendsize=12,
labelsize=4,
export.csv=FALSE,
comment.caption=NULL){
requireNamespace("ggplot2")
design.crd <-function(trt,r,serie=2,seed=0,kinds="Super-Duper",randomization=TRUE)
{
number<-0
if(serie>0) number<-10^serie
junto<-data.frame(trt,r)
junto<-junto[order(junto[,1]),]
TR<-as.character(junto[,1])
r<-as.numeric(junto[,2])
y <- rep(TR[1], r[1])
tr <- length(TR)
if (seed == 0) {
genera<-runif(1)
seed <-.Random.seed[3]
}
set.seed(seed,kinds)
parameters<-list(design="crd",trt=trt,r=r,serie=serie,seed=seed,kinds=kinds,randomization)
for (i in 2:tr) y <- c(y, rep(TR[i], r[i]))
trat<-y
if(randomization)trat <- sample(y, length(y), replace = FALSE)
plots <- number+1:length(trat)
dca<-data.frame(plots, trat)
dca[,1]<-as.numeric(dca[,1])
xx<-dca[order(dca[,2],dca[,1]),]
r1<-seq(1,r[1])
for (i in 2:length(r)) {
r1<-c(r1,seq(1,r[i]))
}
yy<-data.frame(plots=xx[,1],r=r1,xx[,2])
book<-yy[order(yy[,1]),]
rownames(book)<-rownames(yy)
names(book)[3]<-c(paste(deparse(substitute(trt))))
outdesign<-list(parameters=parameters,book=book)
return(outdesign)
}
design.rcbd <-function (trt, r,serie=2,seed=0,
kinds="Super-Duper",first=TRUE,
continue=FALSE,randomization=TRUE){
number<-10
if(serie>0) number<-10^serie
ntr <- length(trt)
if (seed == 0) {
genera<-runif(1)
seed <-.Random.seed[3]
}
set.seed(seed,kinds)
parameters<-list(design="rcbd",trt=trt,r=r,serie=serie,seed=seed,kinds=kinds,randomization)
mtr <-trt
if(randomization)mtr <- sample(trt, ntr, replace = FALSE)
block <- c(rep(1, ntr))
for (y in 2:r) {
block <- c(block, rep(y, ntr))
if(randomization)mtr <- c(mtr, sample(trt, ntr, replace = FALSE))
}
if(randomization){
if(!first) mtr[1:ntr]<-trt
}
plots <- block*number+(1:ntr)
book <- data.frame(plots, block = as.factor(block), trt = as.factor(mtr))
names(book)[3] <- c(paste(deparse(substitute(trt))))
names(book)[3]<-c(paste(deparse(substitute(trt))))
if(continue){
start0<-10^serie
if(serie==0) start0<-0
book$plots<-start0+1:nrow(book)
}
outdesign<-list(parameters=parameters,sketch=matrix(book[,3], byrow = TRUE, ncol = ntr),book=book)
return(outdesign)
}
design.lsd <-function (trt,serie=2,seed=0,
kinds="Super-Duper",first=TRUE,
randomization=TRUE){
number<-10
if(serie>0) number<-10^serie
r <- length(trt)
if (seed == 0) {
genera<-runif(1)
seed <-.Random.seed[3]
}
set.seed(seed,kinds)
parameters<-list(design="lsd",trt=trt,r=r,serie=serie,seed=seed,kinds=kinds,randomization)
a <- 1:(r * r)
dim(a) <- c(r, r)
for (i in 1:r) {
for (j in 1:r) {
k <- i + j - 1
if (k > r)
k <- i + j - r - 1
a[i, j] <- k
}
}
m<-2:r
if(randomization)m<-sample(2:r,r-1)
a<-a[,c(1,m)]
if(randomization){
if (first) {
m<-sample(1:r,r)
a<-a[m,]
}}
trat<-trt[a]
columna <- rep(gl(r, 1), r)
fila <- gl(r, r)
fila <- as.character(fila)
fila <- as.numeric(fila)
plots <- fila*number+(1:r)
book <- data.frame(plots, row = as.factor(fila), col = as.factor(columna),
trat = as.factor(trat))
names(book)[4] <- c(paste(deparse(substitute(trt))))
outdesign<-list(parameters=parameters,sketch=matrix(book[,4], byrow = TRUE, ncol = r),book=book)
return(outdesign)
}
design.split <-function (trt1, trt2,r=NULL, design=c("rcbd","crd","lsd"),serie = 2, seed = 0, kinds = "Super-Duper",
first=TRUE,randomization=TRUE){
n1<-length(trt1)
n2<-length(trt2)
if (seed == 0) {
genera<-runif(1)
seed <-.Random.seed[3]
}
set.seed(seed,kinds)
design <- match.arg(design)
number<-10^serie +1
if (design == "crd") {
plan<-design.crd(trt1,r,serie, seed, kinds,randomization)
k<-3
}
if (design == "rcbd"){
plan<-design.rcbd(trt1,r,serie, seed, kinds, first,randomization)
k<-3
}
if (design == "lsd") {
plan<-design.lsd(trt1,serie, seed, kinds, first,randomization)
r<-n1
k<-4
}
book<-plan$book
parameters<-plan$parameters
names(parameters)[2]<-"trt1"
parameters$applied<-parameters$design
parameters$design<-"split"
parameters$trt2<-trt2
j<-0
B<-list()
for(i in c(1,7,2,8,3:6)){
j<-j+1
B[[j]]<-parameters[[i]]
names(B)[j]<-names(parameters)[i]
}
nplot<-nrow(book)
d<-NULL
if(randomization){
for(i in 1:nplot)d<-rbind(d,sample(trt2,n2))
}
else{
d<-rbind(d,trt2[1:n2])
}
aa<-data.frame(book,trt2=d[,1])
for(j in 2:n2) aa<-rbind(aa,data.frame(book,trt2=d[,j]))
aa<-aa[order(aa[,1]),]
splots<-rep(gl(n2,1),nplot)
book <- data.frame(plots=aa[,1],splots,aa[,-1])
rownames(book)<-1:(nrow(book))
names(book)[k+1] <- c(paste(deparse(substitute(trt1))))
names(book)[k+2] <- c(paste(deparse(substitute(trt2))))
outdesign<-list(parameters=B,book=book)
return(outdesign)
}
design.ab <-function(trt, r=NULL,serie=2,design=c("rcbd","crd","lsd"),seed=0,kinds="Super-Duper",
first=TRUE,randomization=TRUE ){
design <- match.arg(design)
if( design=="rcbd" | design=="crd") posicion <- 3
else posicion <- 4
serie<-serie; seed<-seed; kinds<-kinds; first<-first;
ntr<-length(trt)
fact<-NULL
tr0<-1:trt[1]
k<-0
a<-trt[1];b<-trt[2]
for(i in 1:a){
for(j in 1:b){
k<-k+1
fact[k]<-paste(tr0[i],j)
}
}
if(ntr >2) {
for(m in 3:ntr){
k<-0
tr0<-fact
fact<-NULL
a<-a*b
b<-trt[m]
for(i in 1:a){
for(j in 1:b){
k<-k+1
fact[k]<-paste(tr0[i],j)
}
}
}
}
if(design=="rcbd")plan<-design.rcbd(trt=fact, r, serie, seed, kinds, first,randomization )
if(design=="crd")plan<-design.crd(trt=fact, r, serie, seed, kinds,randomization)
if(design=="lsd")plan<-design.lsd(trt=fact, serie, seed, kinds, first,randomization )
parameters<-plan$parameters
parameters$applied<-parameters$design
parameters$design<-"factorial"
plan<-plan$book
trt<-as.character(plan[,posicion])
nplan<-nrow(plan)
A<-rep(" ",nplan*ntr)
dim(A)<-c(nplan,ntr)
colnames(A)<-LETTERS[1:ntr]
for(i in 1:nplan) {
A[i,]<-unlist(strsplit(trt[i], " "))
}
A<-as.data.frame(A)
book<-data.frame(plan[,1:(posicion-1)],A)
outdesign<-list(parameters=parameters,book=book)
return(outdesign)
}
#=================
if(design=="DIC" | design=="dic"){sort=design.crd(trat,r,serie=0)
data=sort$book
data$x=rep(1:length(unique(data$trat)),r)
data$x=factor(data$x,unique(data$x))
data$y=rep(1:r,e=length(unique(data$trat)))
data$y=factor(data$y,unique(data$y))
x=data$x
y=data$y
if(color.sep=="all"){separate=data$trat}
if(color.sep=="none"){separate=rep("white",e=length(data$trat))}
if(pos=="line"){graph=ggplot(data,aes(x=x,y=y))+
geom_tile(aes(fill=separate),color="black")+
labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),legend.text=element_text(size=axissize),legend.title=element_text(size=legendsize))}
if(pos=="column"){graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),legend.text=element_text(size=axissize),legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$y,levels = rev(unique(data$y)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+
labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),legend.text=element_text(size=axissize),legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),legend.text=element_text(size=axissize),legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(ID==FALSE){graph=graph+geom_text(aes(label=trat),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(trat)),size=labelsize)}
tabela=data.frame("ID"=data$plots,
"trat"=data$trat)}
#=================
if(design=="DBC" | design=="dbc"){sort=design.rcbd(trat,r,serie=0)
data=sort$book
data$x=rep(1:length(unique(data$trat)),r)
data$x=factor(data$x,unique(data$x))
x=data$x
block=data$block
if(color.sep=="all"){separate=data$trat}
if(color.sep=="block"){separate=data$block}
if(color.sep=="none"){separate=rep("white",e=length(data$trat))}
#======================================
# if(line.divisor.block>=2){
# quantcoluna=length(trat)/line.divisor.block
# if(is.integer(quantcoluna)==FALSE){
# quant=c(rep(ceiling(quantcoluna),line.divisor.block-1),floor(quantcoluna))
# sublinhas=rep(1:line.divisor.block,
# quant)
# data$x=rep(rep(1:ceiling(length(unique(data$trat))/line.divisor.block),
# line.divisor.block)[1:length(trat)],
# ceiling(length(unique(block))/line.divisor.block))
# }else{sublinhas=rep(1:line.divisor.block,
# quantcoluna)}
# data$block=paste(block,"L",sublinhas)}
#===========================================
if(pos=="line"){graph=ggplot(data,aes(x=x,y=block,fill=separate))+
geom_tile(color="black")+labs(y="Block",x=label.x,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),axis.title=element_text(size=axissize),legend.title=element_text(size=legendsize),legend.text=element_text(size=axissize))}
if(pos=="column"){graph=ggplot(data,aes(y=x,x=block,fill=separate))+
geom_tile(color="black")+labs(y=label.y,x="Block",fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),axis.title=element_text(size=axissize),legend.title=element_text(size=legendsize),legend.text=element_text(size=axissize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
data$block=factor(data$block,levels = rev(unique(data$block)))
if(pos=="line"){
graph=ggplot(data,aes(x=x,y=block,fill=separate))+
geom_tile(color="black")+
labs(x=label.x,y="Block",fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
legend.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$block=factor(data$block,levels = unique(data$block))
graph=ggplot(data,aes(y=x,x=block,fill=separate))+
geom_tile(color="black")+
labs(x="Block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),axis.title=element_text(size=axissize),legend.text=element_text(size=axissize),legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(color.sep=="block"){graph=graph+labs(fill="block")}
if(ID==FALSE){graph=graph+geom_text(aes(label=trat),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(trat)),size=labelsize)}
tabela=data.frame("ID"=data$plots,
"block"=data$block,
"trat"=data$trat)}
#=================
if(design=="DQL" | design=="dql"){sort=design.lsd(trat,r,serie=0)
data=sort$book
if(color.sep=="all"){separate=data$trat}
if(color.sep=="line"){separate=data$row}
if(color.sep=="column"){separate=data$col}
if(color.sep=="none"){separate=rep("white",e=length(data$trat))}
graph=ggplot(data,aes(x=row,y=col,fill=separate))+
geom_tile(color="black")+labs(x="Row",y="Column",fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=axissize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
data$row=factor(data$row,levels = rev(unique(data$row)))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$row)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),(length(data$row)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$row)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),(length(data$row)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(color.sep=="line"){graph=graph+labs(fill="Line")}
if(color.sep=="column"){graph=graph+labs(fill="Column")}
if(ID==FALSE){graph=graph+geom_text(aes(label=trat),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(trat)),size=labelsize)}
tabela=data.frame("ID"=data$plots,
"line"=data$row,
"column"=data$col,
"trat"=data$trat)}
#=================
if(design=="PSUBDIC" | design=="psubdic"){sort=design.split(trat,trat1,r,design = "crd",serie=0)
data=sort$book
data$x=rep(1:length(unique(paste(data$trat,data$trat1))),r)
data$x=factor(data$x,unique(data$x))
data$y=rep(1:r,e=length(unique(paste(data$trat,data$trat1))))
data$y=factor(data$y,unique(data$y))
x=data$x
y=data$y
if(color.sep=="all"){separate=paste(data$trat,data$trat1)}
if(color.sep=="f1"){separate=data$trat}
if(color.sep=="f2"){separate=data$trat1}
if(color.sep=="none"){separate=rep("white",e=length(data$trat))}
if(pos=="column"){graph=ggplot(data,aes(x=y,y=x,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(pos=="line"){graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$y,levels = rev(unique(data$y)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$y=factor(data$y,levels = unique(data$y))
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(ID==FALSE){graph=graph+geom_text(aes(label=paste(trat,trat1)),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(paste(trat,trat1))),size=labelsize)}
tabela=data.frame("ID"=1:length(data$plots),
"plot"=data$trat,
"split_plot"=data$trat1,
"Repetition"=data$r)}
#================
if(design=="PSUBDBC" | design=="psubdbc"){sort=design.split(trat,trat1,r,design = "rcbd",serie=0)
data=sort$book
data$x=rep(1:length(unique(paste(data$trat,data$trat1))),r)
data$x=factor(data$x,unique(data$x))
x=data$x
block=data$block
if(color.sep=="all"){separate=paste(data$trat,data$trat1)}
if(color.sep=="block"){separate=data$block}
if(color.sep=="f1"){separate=data$trat}
if(color.sep=="f2"){separate=data$trat1}
if(color.sep=="none"){separate=rep("white",e=length(data$trat))}
#======================================
# if(line.divisor.block>=2){
# quantcoluna=length(unique(paste(data$trat,data$trat1)))/line.divisor.block
# if(is.integer(quantcoluna)==FALSE){
# quant=c(rep(ceiling(quantcoluna),line.divisor.block-1),floor(quantcoluna))
# sublinhas=rep(1:line.divisor.block,
# quant)
# data$x=rep(rep(1:ceiling(length(unique(paste(data$trat,data$trat1)))/
# line.divisor.block),
# line.divisor.block)[1:length(unique(paste(data$trat,data$trat1)))],
# length(unique(block))/line.divisor.block)
# }else{sublinhas=rep(1:line.divisor.block,
# quantcoluna)}
# data$block=paste(block,"L",sublinhas)}
if(pos=="column"){graph=ggplot(data,aes(y=x,x=block,fill=separate))+
geom_tile(color="black")+labs(x="Block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(pos=="line"){graph=ggplot(data,aes(y=block,x=x,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="Block",fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$block,levels = rev(unique(data$block)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="Block",fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$y=factor(data$block,levels = unique(data$block))
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x="Block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(color.sep=="block"){graph=graph+labs(fill="block")}
if(ID==FALSE){graph=graph+geom_text(aes(label=paste(trat,trat1)),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(paste(trat,trat1))),size=labelsize)}
tabela=data.frame("ID"=1:length(data$plots),
"plot"=data$trat,
"split_plot"=data$trat1,
"Block"=data$block)}
faixas=function(t1,t2,r){
faixas.design=function (trt1, trt2, r, serie = 2, seed = 0, kinds = "Super-Duper",
randomization = TRUE){
number <- 10
if (serie > 0)
number <- 10^serie
n1 <- length(trt1)
n2 <- length(trt2)
if (seed == 0) {
genera <- runif(1)
seed <- .Random.seed[3]}
set.seed(seed, kinds)
a <- trt1[1:n1]
b <- trt2[1:n2]
if (randomization) {
a <- sample(trt1, n1)
b <- sample(trt2, n2)}
fila <- rep(b, n1)
columna <- a[gl(n1, n2)]
block <- rep(1, n1 * n2)
if (r > 1) {
for (i in 2:r) {
a <- trt1[1:n1]
b <- trt2[1:n2]
if (randomization){
a <- sample(trt1, n1)
b <- sample(trt2, n2)}
fila <- c(fila, rep(b, n1))
columna <- c(columna, a[gl(n1, n2)])
block <- c(block, rep(i, n1 * n2))
}
}
parameters <- list(design = "strip", trt1 = trt1, trt2 = trt2, r = r, serie = serie, seed = seed, kinds = kinds)
plots <- block * number + 1:(n1 * n2)
book <- data.frame(plots, block = as.factor(block), column = as.factor(columna),
row = as.factor(fila))
names(book)[3] <- c(paste(deparse(substitute(trt1))))
names(book)[4] <- c(paste(deparse(substitute(trt2))))
outdesign <- list(parameters = parameters, book = book)
return(outdesign)
}
outdesign <-faixas.design(t1,t2,r, serie=2,seed=45,kinds ="Super-Duper") # seed = 45
book <-outdesign$book # field book
book$block=factor(book$block,levels = unique(book$block))
graphs=as.list(1:length(levels(book$block)))
for(i in 1:length(levels(book$block))){
d1=book[book$block==levels(book$block)[i],]
d1$t1=factor(d1$t1,unique(d1$t1))
d1$t2=factor(d1$t2,unique(d1$t2))
graphs[[i]]=ggplot(d1,aes(x=t1,y=t2,fill=paste(t1,t2)))+geom_tile(color="black",show.legend = FALSE)+
facet_wrap(~paste("Block",block))+
ylab("")+xlab("")+
geom_text(aes(label=paste(t1,t2)))+
theme_classic()+theme(axis.line = element_blank(),
axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize),
strip.text = element_text(size=12))}
requireNamespace("cowplot")
graph=do.call("plot_grid", c(graphs, ncol=length(levels(book$block))))
print(graph)}
if(design=="STRIP-PLOT" | design=="stripplot"){(graph=faixas(trat,trat1,r))}
#=================
if(design=="FAT2DIC" | design=="fat2dic"){sort=design.ab(c(length(trat),length(trat1)),r,design = "crd",serie=0)
sort$book$A=as.factor(sort$book$A)
sort$book$B=as.factor(sort$book$B)
levels(sort$book$A)=trat
levels(sort$book$B)=trat1
sort$book$trat=paste(sort$book$A,sort$book$B)
data=sort$book
data$x=rep(1:length(unique(paste(data$trat,data$trat1))),r)
data$x=factor(data$x,unique(data$x))
data$y=rep(1:r,e=length(unique(paste(data$trat,data$trat1))))
data$y=factor(data$y,unique(data$y))
A=data$A
B=data$B
x=data$x
y=data$y
if(color.sep=="all"){separate=paste(data$A,data$B)}
if(color.sep=="f1"){separate=data$A}
if(color.sep=="f2"){separate=data$B}
if(color.sep=="none"){separate=rep("white",e=length(data$A))}
if(pos=="column"){graph=ggplot(data,aes(x=y,y=x,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(pos=="line"){graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$y,levels = rev(unique(data$y)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$y=factor(data$y,levels = unique(data$y))
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(ID==FALSE){graph=graph+geom_text(aes(label=paste(A,B)),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(paste(A,B))),size=labelsize)}
tabela=data.frame("ID"=1:length(data$plots),
"Factor 1"=data$A,
"Factor 2"=data$B)}
#=================
if(design=="FAT2DBC" | design=="fat2dbc"){
sort=design.ab(c(length(trat),length(trat1)),r,design = "rcbd",serie=0)
sort$book$A=as.factor(sort$book$A)
sort$book$B=as.factor(sort$book$B)
levels(sort$book$A)=trat
levels(sort$book$B)=trat1
sort$book$trat=paste(sort$book$A,sort$book$B)
data=sort$book
data$x=rep(1:length(unique(paste(data$trat,data$trat1))),r)
data$x=factor(data$x,unique(data$x))
A=data$A
B=data$B
x=data$x
block=data$block
if(color.sep=="all"){separate=paste(data$A,data$B)}
if(color.sep=="block"){separate=data$block}
if(color.sep=="f1"){separate=data$A}
if(color.sep=="f2"){separate=data$B}
if(color.sep=="none"){separate=rep("white",e=length(data$A))}
#======================================
# if(line.divisor.block>=2){
# quantcoluna=length(unique(paste(data$trat,data$trat1)))/line.divisor.block
# if(is.integer(quantcoluna)==FALSE){
# quant=c(rep(ceiling(quantcoluna),line.divisor.block-1),floor(quantcoluna))
# sublinhas=rep(1:line.divisor.block,
# quant)
# data$x=rep(rep(1:ceiling(length(unique(paste(data$trat,data$trat1)))/
# line.divisor.block),
# line.divisor.block)[1:length(unique(paste(data$trat,data$trat1)))],
# length(unique(block))/line.divisor.block)
# }else{sublinhas=rep(1:line.divisor.block,
# quantcoluna)}
# data$block=paste(block,"L",sublinhas)}
#=========================================
if(pos=="column"){graph=ggplot(data,aes(y=x,x=block,fill=separate))+
geom_tile(color="black")+labs(x="Block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(pos=="line"){graph=ggplot(data,aes(y=block,x=x,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="Block",fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$block,levels = rev(unique(data$block)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="Block",fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
legend.text=element_text(size=legendsize),
axis.title=element_text(size=axissize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$y=factor(data$block,levels = unique(data$block))
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x="Block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(color.sep=="block"){graph=graph+labs(fill="block")}
if(ID==FALSE){graph=graph+geom_text(aes(label=paste(A,B)),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(paste(A,B))),size=labelsize)}
tabela=data.frame("ID"=1:length(data$plots),
"Factor 1"=data$A,
"Factor 2"=data$B,
"Block"=data$block)}
#######################################################
if(design=="FAT3DIC" | design=="fat3dic"){
trat=expand.grid(trat,trat1,trat2)
tr=paste(trat$Var1,"@#",trat$Var2,"@#",trat$Var3)
trats=rep(tr,r)
sorteio=sample(trats)
sortd=data.frame(t(matrix(unlist(strsplit(sorteio,"@#")),nrow=3)))
sorteio=paste(sortd$X1,sortd$X2,sortd$X3)
x=rep(1:(length(sorteio)/r),r)
y=rep(1:r,e=(length(sorteio)/r))
data=data.frame(x,y,sorteio)
data$x=factor(data$x,unique(data$x))
data$y=factor(data$y,unique(data$y))
if(color.sep=="all"){separate=sorteio}
if(color.sep=="f1"){separate=sortd$X1}
if(color.sep=="f2"){separate=sortd$X2}
if(color.sep=="f3"){separate=sortd$X3}
if(color.sep=="none"){separate=rep("white",e=length(sorteio))}
if(pos=="line"){graph=ggplot(data,aes(x=y,y=x,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(pos=="column"){graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$y,levels = rev(unique(data$y)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$y=factor(data$y,levels = unique(data$y))
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x=label.x,y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(ID==FALSE){graph=graph+geom_text(aes(label=sorteio),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(sorteio)),size=labelsize)}
tabela=data.frame("ID"=1:length(data$plots),
"Factor 1"=sortd$X1,
"Factor 2"=sortd$X2,
"Factor 3"=sortd$X3)}
if(design=="FAT3DBC" | design=="fat3dbc"){
trat=expand.grid(trat,trat1,trat2)
tr=paste(trat$Var1,"@#",trat$Var2,"@#",trat$Var3)
sorteio=matrix(NA,ncol=length(tr),nrow=r)
for(i in 1:r){
sorteio[i,]=sample(tr)
}
sorteio=as.vector(sorteio)
sortd=data.frame(t(matrix(unlist(strsplit(sorteio,"@#")),nrow=3)))
sorteio=paste(sortd$X1,sortd$X2,sortd$X3)
x=rep(1:(length(sorteio)/r),e=r)
y=rep(1:r,(length(sorteio)/r))
data=data.frame(x,y,sorteio)
data$x=factor(data$x,unique(data$x))
data$y=factor(data$y,unique(data$y))
if(color.sep=="all"){separate=sorteio}
if(color.sep=="f1"){separate=sortd$X1}
if(color.sep=="f2"){separate=sortd$X2}
if(color.sep=="f3"){separate=sortd$X3}
if(color.sep=="none"){separate=rep("white",e=length(sorteio))}
if(pos=="line"){graph=ggplot(data,aes(x=y,y=x,fill=separate))+
geom_tile(color="black")+labs(x="block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(pos=="column"){graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="block",fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$y,levels = rev(unique(data$y)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="Block",fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$y=factor(data$y,levels = unique(data$y))
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x="Block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(color.sep=="block"){graph=graph+labs(fill="block")}
if(ID==FALSE){graph=graph+geom_text(aes(label=sorteio),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(sorteio)),size=labelsize)}
}
if(design=="PSUBSUBDBC" | design=="psubsubdbc"){
sorteio=list()
for(i in 1:r){
sorteio[[i]]=sample(trat)}
nv1=length(trat)
nv2=length(trat1)
nv3=length(trat2)
sorteiof1=rep(unlist(sorteio),e=nv2*nv3)
sorteiof2=list()
for(i in 1:(r*nv1)){
sorteiof2[[i]]=sample(trat1)}
sorteiof2=rep(unlist(sorteiof2),e=nv3)
sorteiof3=list()
for(i in 1:(r*nv1*nv2)){
sorteiof3[[i]]=sample(trat2)}
sorteiof3=unlist(sorteiof3)
data.frame(sorteiof1,sorteiof2,sorteiof3)
tr=paste(sorteiof1," x ",sorteiof2," x ",sorteiof3)
sorteio=as.vector(tr)
x=rep(1:(length(sorteio)/r),r)
y=rep(1:r,e=(length(sorteio)/r))
data=data.frame(x,y,sorteio)
data$x=factor(data$x,unique(data$x))
data$y=factor(data$y,unique(data$y))
if(color.sep=="all"){separate=sorteio}
if(color.sep=="f1"){separate=sorteiof1}
if(color.sep=="f2"){separate=sorteiof2}
if(color.sep=="f3"){separate=sorteiof3}
if(color.sep=="none"){separate=rep("white",e=length(sorteio))}
if(pos=="line"){graph=ggplot(data,aes(x=y,y=x,fill=separate))+
geom_tile(color="black")+labs(x="block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(pos=="column"){graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="block",fill="Treatments")+
theme_classic()+theme(axis.line = element_blank())+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))}
if(is.na(add.streets.x[1])==FALSE | is.na(add.streets.y[1])==FALSE){
if(pos=="line"){
data$y=factor(data$y,levels = rev(unique(data$y)))
graph=ggplot(data,aes(x=x,y=y,fill=separate))+
geom_tile(color="black")+labs(x=label.x,y="Block",fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(add.streets.y,e=(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.x = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}
if(pos=="column"){
data$y=factor(data$y,levels = unique(data$y))
graph=ggplot(data,aes(y=x,x=y,fill=separate))+
geom_tile(color="black")+
labs(x="Block",y=label.y,fill="Treatments")+
theme_classic()+theme(axis.text=element_text(size=axissize),
axis.title=element_text(size=axissize),
legend.text=element_text(size=legendsize),
legend.title=element_text(size=legendsize))
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==TRUE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
graph=graph+facet_grid(~data$ruas1,scales="free",space = "free")}
if(is.na(add.streets.y[1])==FALSE & is.na(add.streets.x[1])==TRUE){
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~.,scales="free",space = "free")}
if(is.na(add.streets.x[1])==FALSE & is.na(add.streets.y[1])==FALSE){
ruas1=rep(add.streets.x,e=(length(data$x)/length(add.streets.x)))
data$ruas1=ruas1
ruas2=rep(rev(add.streets.y),(length(data$x)/length(add.streets.y)))
data$ruas2=ruas2
graph=graph+facet_grid(data$ruas2~data$ruas1,scales="free",space = "free")}
graph=graph+
theme(axis.text.y = element_blank(),
strip.background = element_blank(),
strip.text = element_blank(),
line = element_blank())}}
if(color.sep=="none"){graph=graph+
scale_fill_manual(values = "white",label="plots")+
labs(fill="")}
if(color.sep=="block"){graph=graph+labs(fill="block")}
if(ID==FALSE){graph=graph+geom_text(aes(label=sorteio),size=labelsize)}
if(ID==TRUE){graph=graph+geom_text(aes(label=1:length(sorteio)),size=labelsize)}
tabela=data.frame("ID"=1:length(data$plots),
"plot"=sorteiof1,
"split_plot"=sorteiof2,
"split_split_plot"=sorteiof3)}
if(isTRUE(ID)==TRUE & isTRUE(print.ID)==TRUE){print(data)}
if(export.csv==TRUE){write.csv(tabela,"dataset.csv")}
#=================
if(design!="STRIP-PLOT"){print(graph+labs(caption = comment.caption))}
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.