library(readxl)
library(ggplot2)
library(clhs)
#creando rejillas 
#expand.grid 
#x= filas o camas y= columnas o divisiones por cama
 xy = expand.grid(x = 1:90, y = c(1:5, 7:11))
 #Se crea una columna sin datos que llamamos lote
 xy$lote = NA 
 #se llena la columna con los datos colocando los limites o coordenadas
 #xy$lote es para llamar decir donde coloco los datos 
 #%in% cuales cumplen la condicion que estoy mencionando
 #& y  
 xy$lote[(xy$x%in%1:60)&(xy$y%in%1:5)] = 'V1-A'
 xy$lote[(xy$x%in%61:90)&(xy$y%in%1:5)] = 'V2-A'
 xy$lote[(xy$x%in%1:60)&(xy$y%in%7:11)] = 'V1-B'
 xy$lote[(xy$x%in%61:90)&(xy$y%in%7:11)] = 'V2-B'
 #para guardar el data frame en un excel 
 writexl::write_xlsx(xy, 'puntos.xslx')
#para que me muestre los datos
 head(xy)
##   x y lote
## 1 1 1 V1-A
## 2 2 1 V1-A
## 3 3 1 V1-A
## 4 4 1 V1-A
## 5 5 1 V1-A
## 6 6 1 V1-A
# xy = read_excel('puntos.xslx')
 #Creando el grafico para ver la rejilla
graf_lote = ggplot(xy[xy$lote!='corredor',])+
  aes(x,y, fill=lote)+
  geom_tile(color='white')

graf_lote

#cuenta cuantos datos tengo de cada agrupacion
table(xy$lote)
## 
## V1-A V1-B V2-A V2-B 
##  300  300  150  150
set.seed(110)
res <- clhs(xy, size = 50, progress = FALSE, simple = TRUE)
## Warning: NAs introducidos por coerción
#extraer los puntos seleccionados de los datos 
xy_mues1 = xy[res, ]
#Graficar los puntos seleccionados
graf_lote+
  geom_point(data = xy_mues1, aes(x,y))

#Para la variedad 1 lote A   
xy_V1A = xy[xy$lote == 'V1-A',]
res_V1A <- clhs(xy_V1A, size = 10, progress = FALSE, simple = TRUE)
## Warning: NAs introducidos por coerción
xy_mues_V1A = xy_V1A[res_V1A, ]

graf_lote+
  geom_point(data = xy_mues_V1A, aes(x,y))

#Aplicando libreria clhs
res <- clhs(xy, size = 10, progress = FALSE, simple = TRUE)
## Warning: NAs introducidos por coerción
#extraer los puntos seleccionados de los datos 
xy_mues1 = xy[res, ]
#Graficar los puntos seleccionados
graf_lote+
  geom_point(data = xy_mues1, aes(x,y))

#Para la variedad 2 lote A   
xy_V2A = xy[xy$lote == 'V2-A',]
res_V2A <- clhs(xy_V2A, size = 30, progress = FALSE, simple = TRUE)
## Warning: NAs introducidos por coerción
xy_mues_V2A = xy_V2A[res_V2A, ]

graf_lote+
  geom_point(data = xy_mues_V2A, aes(x,y))

library(readxl)
library(ggplot2)
library(clhs)

set.seed(2022)
xy = expand.grid(x = 1:90, y = 1:10)
xy$vari = c(
  rep(rep(c('V1-A', 'V2-A'), c(60,30)), 5),
  rep(rep(c('V1-B', 'V2-B'), c(60,30)), 5)
)

#fill=llenar color 
graf_lote = ggplot(xy)+
  aes(x,y, fill=vari)+
  geom_tile(color='white')

graf_lote

# while(TRUE){
#   res <- clhs(xy, size = 50, progress = FALSE, simple = TRUE)
#   res_dif = diff(sort(res))
#   if (all(res_dif>4)) { break }
# }
# 
# #extraer los puntos seleccionados de los datos 
# xy_mues1 = xy[res, ]
# #Graficar los puntos seleccionados
# graf_lote+
#   geom_tile(data = xy_mues1, aes(x,y),
#             fill='white', color='black')+
#   theme_bw()

Balanceo por variedad

50 muestras en total V1 =18, v1=9 cada una

set.seed(312)

ii = 1
while(TRUE){
  #Para la variedad 1 lote A
  xy_V1A = xy[xy$vari == 'V1-A',]
  res_V1A <- clhs(xy_V1A, size = 18, progress = FALSE, simple = TRUE)
  xy_V1A[res_V1A, 'muestra'] = 1
  
  #Para la variedad 1 lote B
  xy_V1B = xy[xy$vari == 'V1-B',]
  res_V1B <- clhs(xy_V1B, size = 18, progress = FALSE, simple = TRUE)
  xy_V1B[res_V1B, 'muestra'] = 1
  
  #Para la variedad 2 lote A
  xy_V2A = xy[xy$vari == 'V2-A',]
  res_V2A <- clhs(xy_V2A, size = 9 , progress = FALSE, simple = TRUE)
  xy_V2A[res_V2A, 'muestra'] = 1
  
  #Para la variedad 2 lote B
  xy_V2B = xy[xy$vari == 'V2-B',]
  res_V2B <- clhs(xy_V2B, size = 9, progress = FALSE, simple = TRUE)
  xy_V2B[res_V2B, 'muestra'] = 1
  
  xy_tot = rbind(xy_V1A, xy_V1B, xy_V2A, xy_V2B)
  
  
  res = which(!is.na(xy_tot$muestra))
  #ordene los valores
  res_ord = sort(res)
  #en que fila esta
  res_fil = xy_tot$y[res_ord]
  #resta de posicioines 
  res_dif = tapply(res_ord, res_fil, diff)
 
  res_cerca = all(unlist(res_dif) > 3)
  ii = ii+1
  if (res_cerca) { break }
}
## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción
print(ii)
## [1] 130
xy_tot_muestra = xy_tot[!is.na(xy_tot$muestra),]

graf_lote+
  geom_tile(data = xy_tot_muestra, aes(x,y), fill='white', color = 'black')

CREANDO LAS NAVES

library(readxl)
library(ggplot2)
library(clhs)

set.seed(2022)
xy = expand.grid(x = 1:90, y = 1:10)
xy$nave = c(
  rep(rep(c('N1', 'N2','N3','N4','N5','N6','N7','N8','N9'), c(10,10,10,10,10,10,10,10, 10)), 5),
  rep(rep(c('N10', 'N11','N12','N13','N14','N15','N16','N17','N18'), c(10,10,10,10,10,10,10,10, 10)), 5)
)

#fill=llenar color 
graf_lote = ggplot(xy)+
  aes(x,y, fill=nave)+
  geom_tile(color='black')

graf_lote

#### CLHS PARA NAVES DE 10 CAMAS CON 3 PUNTOS POR NAVES SEPARADOS POR 2 CAMAS

set.seed(200)

ii = 1
while(TRUE){
  #Para la Nave 1 lote A
  xy_N1 = xy[xy$nave == 'N1',]
  res_N1 <- clhs(xy_N1, size = 3, progress = FALSE, simple = TRUE)
  xy_N1[res_N1, 'muestraN'] = 1
  
  #Para la Nave 2 lote A
  xy_N2 = xy[xy$nave == 'N2',]
  res_N2 <- clhs(xy_N2, size = 3, progress = FALSE, simple = TRUE)
  xy_N2[res_N2, 'muestraN'] = 1
  
    #Para la Nave 3 lote A
  xy_N3 = xy[xy$nave == 'N3',]
  res_N3 <- clhs(xy_N3, size = 3, progress = FALSE, simple = TRUE)
  xy_N3[res_N3, 'muestraN'] = 1
  
    #Para la Nave 4 lote A
  xy_N4 = xy[xy$nave == 'N4',]
  res_N4 <- clhs(xy_N4, size = 3, progress = FALSE, simple = TRUE)
  xy_N4[res_N4, 'muestraN'] = 1 
  
   #Para la Nave 5 lote A
  xy_N5 = xy[xy$nave == 'N5',]
  res_N5 <- clhs(xy_N5, size = 3, progress = FALSE, simple = TRUE)
  xy_N5[res_N5, 'muestraN'] = 1
  
   #Para la Nave 6 lote A
  xy_N6 = xy[xy$nave == 'N6',]
  res_N6 <- clhs(xy_N6, size = 3, progress = FALSE, simple = TRUE)
  xy_N6[res_N6, 'muestraN'] = 1
  
   #Para la Nave 7 lote A
  xy_N7 = xy[xy$nave == 'N7',]
  res_N7 <- clhs(xy_N7, size = 3, progress = FALSE, simple = TRUE)
  xy_N7[res_N7, 'muestraN'] = 1
  
   #Para la Nave 8 lote A
  xy_N8 = xy[xy$nave == 'N8',]
  res_N8 <- clhs(xy_N8, size = 3, progress = FALSE, simple = TRUE)
  xy_N8[res_N8, 'muestraN'] = 1
  
   #Para la Nave 9 lote A
  xy_N9 = xy[xy$nave == 'N9',]
  res_N9 <- clhs(xy_N9, size = 3, progress = FALSE, simple = TRUE)
  xy_N9[res_N9, 'muestraN'] = 1
  
#Para la Nave 10 lote B
  xy_N10 = xy[xy$nave == 'N10',]
  res_N10 <- clhs(xy_N10, size = 3, progress = FALSE, simple = TRUE)
  xy_N10[res_N10, 'muestraN'] = 1
  
   #Para la Nave 11 lote B
  xy_N11 = xy[xy$nave == 'N11',]
  res_N11 <- clhs(xy_N11, size = 3, progress = FALSE, simple = TRUE)
  xy_N11[res_N11, 'muestraN'] = 1
  
  #Para la Nave 12 lote B
  xy_N12 = xy[xy$nave == 'N12',]
  res_N12 <- clhs(xy_N12, size = 3, progress = FALSE, simple = TRUE)
  xy_N12[res_N12, 'muestraN'] = 1
  
    #Para la Nave 13 lote B
  xy_N13 = xy[xy$nave == 'N13',]
  res_N13 <- clhs(xy_N13, size = 3, progress = FALSE, simple = TRUE)
  xy_N13[res_N13, 'muestraN'] = 1
  
    #Para la Nave 14 lote B
  xy_N14 = xy[xy$nave == 'N14',]
  res_N14 <- clhs(xy_N14, size = 3, progress = FALSE, simple = TRUE)
  xy_N14[res_N14, 'muestraN'] = 1 
  
   #Para la Nave 15 lote B
  xy_N15 = xy[xy$nave == 'N15',]
  res_N15 <- clhs(xy_N15, size = 3, progress = FALSE, simple = TRUE)
  xy_N15[res_N15, 'muestraN'] = 1
  
   #Para la Nave 16 lote B
  xy_N16 = xy[xy$nave == 'N16',]
  res_N16 <- clhs(xy_N16, size = 3, progress = FALSE, simple = TRUE)
  xy_N16[res_N16, 'muestraN'] = 1
  
   #Para la Nave 17 lote B
  xy_N17 = xy[xy$nave == 'N17',]
  res_N17 <- clhs(xy_N17, size = 3, progress = FALSE, simple = TRUE)
  xy_N17[res_N17, 'muestraN'] = 1
  
   #Para la Nave 18 lote B
  xy_N18 = xy[xy$nave == 'N18',]
  res_N18 <- clhs(xy_N18, size = 3, progress = FALSE, simple = TRUE)
  xy_N18[res_N18, 'muestraN'] = 1
  
  xy_totN = rbind(xy_N1, xy_N2, xy_N3, xy_N4,xy_N5, xy_N6, xy_N7, xy_N8,xy_N9, xy_N10, xy_N11, xy_N12, xy_N13, xy_N14,xy_N15, xy_N16, xy_N17, xy_N18)
  
  res = which(!is.na(xy_totN$muestraN))
  #ordene los valores
  res_ord = sort(res)
  #en que fila esta
  res_fil = xy_tot$y[res_ord]
  #resta de posicioines 
  res_dif = tapply(res_ord, res_fil, diff)
 
  res_cerca = all(unlist(res_dif) > 2)
  ii = ii+1
  if (res_cerca) { break }
}
## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción

## Warning: NAs introducidos por coerción
print(ii)
## [1] 3
xy_tot_muestraN = xy_totN[!is.na(xy_totN$muestraN),]

graf_lote+
  geom_tile(data = xy_tot_muestraN, aes(x,y), fill='white', color = 'black')