OBJETIVO

Generar tres Diseños de Bloques Completamente al azar cada uno con 3 bloques y 4 tratamientos.

LIBRERIAS

library(rPAex)
library(agricolae)
library(terra)
#Ejemplo extraido de:
#help("fourPoint") 

DISEÑO 1

Diseño 1 inicial

# IMAGEN----
prg1 <- system.file("examples/Ex-01.R", package="rPAex")
source(prg1)
r<-data1()
op<-par(mar=c(2,2,4,2),cex=0.8)
image(r,main="Diseño 1",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)

## PUNTOS ----
# Obteniendo los 3 puntos con:
#p<-locator(3)
#Puntos extraidos y guardados en p1:
p1<-list(x=c(12.98846, 28.70789, 43.36759), y=c(79.52972, 91.01021, 73.17130))
#Generando el cuarto punto:
q1<-fourPoint(p1)
polygon(q1) #vista del polígono formado
points(q1,cex=2.5,col="green")
text(q1,cex = 2) #Orden en que fueron colocados los puntos

## DIMENSIONES PARA CADA UNIDAD EXPERIMENTAL----
dist(q1)#distancias
##          1        2        3
## 2 19.46541                  
## 3 31.03741 23.08968         
## 4 23.08968 29.33855 19.46541
nx=4 # número de tratamientos
ny=3 # número de bloques
dx=19.40/4 #19.40:distancia aprox que existe entre en punto 1 y el punto 2
dy=23/3 # distancia del punto 2 y el punto 3
plan1<-imageField(r,q1,ny,nx,dy,dx,lwd=2,border="black") # vista de las UE

## ORDEN DE TRATAMIENTOS ----
Q1<-plan1$Qbase
#Q1$EU 
#head(Q1)
# Orden de cada UE:
a1<-with(Q1,tapply.stat(Q1[,2:4],EU))
with(a1,text(x,y,EU,cex=2))

Vemos que el orden asignado para cada UE en el diseño 1 es el correcto, ya que coincide con el orden de los puntos.

Diseño 1 Final

# IMAGEN
#Cargando la imagen con sus respectivas dimensiones:
op<-par(mar=c(2,2,4,2),cex=0.8)
image(r,main="Diseño 1 Final",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)
polygon(q1) #vista del polígono formado
points(q1,cex=2.5,col="green")
text(q1,cex = 2)
plan1<-imageField(r,q1,ny,nx,dy,dx,lwd=2,border="black") # vista de las UE

## DBCA ----
trt<-c("A","B","C","D") #tratamientos
bloques<-3 #número de bloques
#Utilizamos la funcion design.rcbd indicador del dbca:
diseño1<-design.rcbd(trt,bloques,seed=10)#indicamos la semilla
diseñocompleto1<-designRaster(R=plan1$Qbase,diseño1$book)
#names(diseñocompleto1)
croquis1<-diseñocompleto1$design

## CROQUIS ---- 
#croquis1
with(croquis1,text(x,y,trt,cex=2))
diseño1$sketch #
##      [,1] [,2] [,3] [,4]
## [1,] "A"  "B"  "D"  "C" 
## [2,] "D"  "A"  "C"  "B" 
## [3,] "A"  "C"  "B"  "D"
## Coloreando una parcela ----
P1<-subset(Q1,EU==7) #EU=7: Indica que EU se va colorear
with(P1,points(x,y,pch=20,cex=0.4,col="blue"))

El croquis del diseño 1 coincide con la imagen.

DISEÑO 2

Diseño 2 inicial

# IMAGEN ----
op<-par(mar=c(2,2,4,2),cex=0.8)
image(r,main="Diseño 2 inicial",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)
## PUNTOS ----
#Puntos obtenidos con locator:
#p2<-locator(3)
p2<-list(x=c(65.9165 ,83.90568, 73.48301),y=c(67.39146 ,60.02513 ,38.22678))
q2<-fourPoint(p2)
polygon(q2) #Vista del polígono formado
points(q2,cex=2.5,col="green")
text(q2,cex=2) #Mostrando los puntos en la imagen

## DIMENSIONES DE CADA UNIDAD EXPERIMENTAL ----
dist(q2)
##          1        2        3
## 2 19.43897                  
## 3 30.13023 24.16196         
## 4 24.16196 31.86717 19.43897
dx=19.40/4
dy=22/3
nx=4 #trat
ny=3 #bloques

## ORDEN DE TRATAMIENTOS ----
plan2<-imageField(r,q2,ny,nx,dy,dx,lwd=2,border="black")
Q2<-plan2$Qbase
#Q2$EU
#head(Q2)
a2<-with(Q2,tapply.stat(Q2[,2:4],EU))
#a2
with(a2,text(x,y,EU,cex=2))

Notamos que la asignación no se realizó en el orden en que fueron asignados los puntos, por lo cual hacemos un cambio de posiciones.

Cambio de posiciones

# Imagen ----
#Cargando la imagen con sus respectivas dimensiones:
op<-par(mar=c(2,2,4,2),cex=0.8)
terra::image(r,main="Diseño 2 Cambio",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)
p2<-list(x=c(65.91200 ,83.90568, 73.48301),y=c(67.39146 ,60.02513 ,38.22678))
q2<-fourPoint(p2)
polygon(q2) 
points(q2,cex=2.5,col="green")
text(q2,cex = 2) #Mostrando los puntos en la imagen

# Orden tratamientos del plan inicial:
plan2<-imageField(r,q2,ny,nx,dy,dx,lwd=2,border="black")
Q2<-plan2$Qbase

## CONVERTIDOR ----
z2<-c(4,3,2,1,8,7,6,5,12,11,10,9)#ingresamos el orden de la imagen anterior
pUE2<-z2[Q2$EU]#cambio de posiciones
Q22<-Q2
Q22$EU<-pUE2
# VEMOS SI SE REALIZO EL CAMBIO
Pue2<-with(Q22,tapply.stat(Q22[,2:6],EU))
#head(Pue2)
with(Pue2,text(x,y,EU,cex=2,col="black"))

El cambio se realizó exitosamente.

Diseño 2 Final

# Cargamos la imagen
op<-par(mar=c(2,2,4,2),cex=0.8)
terra::image(r,main="Diseño 2 Final",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)
polygon(q2) 
points(q2,cex=2.5,col="green")
text(q2,cex = 2)
plan2<-imageField(r,q2,ny,nx,dy,dx,lwd=2,border="black")

## ORDEN FINAL DEL DISEÑO 2 ----
trt<-c("A","B","C","D")
bloques<-3
diseño2<-design.rcbd(trt,bloques,seed=9)
book2<-diseño2$book
diseñocompleto2<-designRaster(R=Pue2,book2)
croquis2<-diseñocompleto2$design
#head(croquis2)
with(croquis2,text(x,y,trt,cex=2))
diseño2$sketch #coincide con la imagen expuesta
##      [,1] [,2] [,3] [,4]
## [1,] "B"  "A"  "D"  "C" 
## [2,] "B"  "D"  "A"  "C" 
## [3,] "B"  "D"  "A"  "C"
## Coloreando ----
P2<-subset(Q22,EU==3)
with(P2,points(x,y,pch=20,cex=0.2,col="red"))

El sketch del diseño 2 coincide con la imagen.

DISEÑO 3

Diseño 3 inicial

# IMAGEN ----
op<-par(mar=c(2,2,4,2),cex=0.8)
image(r,main="Diseño 3",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)

#Puntos obtenidos con locator(3):
#p<-locator(3)
p3<-list(x=c(29.854, 49.01952,49.72601), y=c(35.37401 ,35.37401 ,11.35330))
#mostrar los puntos señalados:
q3<-fourPoint(p3)
polygon(q3) #vista polígono
points(q3,cex=2.5,col="green")
text(q3,cex = 2)

## DIMENSIONES DE CADA UNIDAD EXPERIMENTAL ----
dist(q3)
##          1        2        3
## 2 19.16552                  
## 3 31.17517 24.03110         
## 4 24.03110 30.29406 19.16552
dx=19.40/4
dy=22/3
nx=4#trat
ny=3#bloques
plan3<-imageField(r,q3,ny,nx,dy,dx,lwd=2,border="black")

## ORDEN DE TRATAMIENTOS ----
Q3<-plan3$Qbase
#head(Q3)
a3<-with(Q3,tapply.stat(Q3[,2:4],EU))
with(a3,text(x,y,EU,cex=2))

Vemos que el orden asignado para cada UE en el diseño 3 es el correcto, ya que coincide con el orden de los puntos.

Diseño 3 Final

# IMAGEN---
op<-par(mar=c(2,2,4,2),cex=0.8)
image(r,main="Diseño 3 Final",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)
polygon(q3) #vista polígono
points(q3,cex=2.5,col="green")
text(q3,cex = 2)
plan3<-imageField(r,q3,ny,nx,dy,dx,lwd=2,border="black")

## DBCA ----
diseño3<-design.rcbd(trt,bloques,seed=11)
book3<-diseño3$book
diseñocompleto3<-designRaster(R=plan3$Qbase,book3)
croquis3<-diseñocompleto3$design
with(croquis3,text(x,y,trt,cex=2))
diseño3$sketch
##      [,1] [,2] [,3] [,4]
## [1,] "D"  "B"  "A"  "C" 
## [2,] "A"  "B"  "C"  "D" 
## [3,] "B"  "D"  "A"  "C"
## Coloreando la parcela 11 ----
P3<-subset(Q3,EU==11)
with(P3,points(x,y,pch=20,cex=0.5,col="green"))

DISEÑO COMPLETO

op<-par(mar=c(2,2,4,2),cex=0.8)
image(r,main="Diseño Completo",col=col2rgb(4),
             xlim=c(20,101), ylim=c(0,101),axes=FALSE)
polygon(q1) #vista del polígono formado
points(q1,cex=2.5,col="green")
text(q1,cex = 2)
plan1<-imageField(r,q1,ny,nx,dy,dx,lwd=2,border="black") # vista de las UE
#croquis1
with(croquis1,text(x,y,trt,cex=2))
with(P1,points(x,y,pch=20,cex=0.2,col="blue"))
#diseño2:
polygon(q2) 
points(q2,cex=2.5,col="green")
text(q2,cex = 2)
plan2<-imageField(r,q2,ny,nx,dy,dx,lwd=2,border="black")
with(croquis2,text(x,y,trt,cex=2))
#Coloreando:
with(P2,points(x,y,pch=20,cex=0.2,col="red"))
#diseño3
polygon(q3) #vista polígono
points(q3,cex=2.5,col="green")
text(q3,cex = 2)
plan3<-imageField(r,q3,ny,nx,dy,dx,lwd=2,border="black")
with(croquis3,text(x,y,trt,cex=2))
## Coloreando la parcela 11 ----
with(P3,points(x,y,pch=20,cex=0.2,col="green"))