Este es un reporte resumen de los datos que hemos recolectado hasta ahora en las evaluaciones de campo y laboratorio. El reporte se divide en dos partes:

Parte 1: Comparación de variedades y correlaciones.

BRIX

Primero que nada, vamos a analizar los BRIX. Y podemos comprobar que los BRIX se comportan de forma normal, esto es, para cada variedad, hay muchos valores que se concentran el centro y algunos pocos en los extremos. Por ejemplo, para CA, el promedio está cerca de 12 y la mayoría de observaciones están ahí, pero hay algunos pocos casos con 10 y otros con 16. En HB, el promedio esta cerca de 11, pero hay valores desde 6 hasta 24.

Nos interesa que haya valores en los extremos, porque son los materiales con los que avanzamos. Sin embargo, no sabemos si tuvieron un BRIX tan alto por causas ambientales (temporada, fertilizacion, suelo) o por causas genéticas, y es por eso que tenemos que hacer repeticiones.

a= ggplot(datawca, aes(x=brix, fill = var))+
  geom_histogram(alpha= 0.5)+
  ylab ("# de individuos")+labs(fill = "Variedad")+
  theme(text= element_text(size= 20))+
  facet_wrap(var~., scales= "free_y")

a

La selección para un caracter cuantitavo (como los BRIX) funciona más o menos como en la siguiente imagen, que es un ejemplo con la longitud del fruto de chile. Una primera población tiene un promedio de 60 cm, pero tiene importante variabilidad. Para este ejemplo, si un seleccionador elige todas las plantas con frutos mas largo de 72 cm, su nueva población va a tener una media de 70 cm. Es sólo un ejemplo y los números pueden cambiar, pero es para darnos una idea.

*Créditos a Don Carlos Echandi.

Volviendo a nuestros datos, en el siguiente gráfico podemos ver varias cosas.

  • Primero las barras, que representan el promedio de cada variedad (tambien escrito abajo).
  • Luego, cada punto representa un áqrbol muestreado. Si el árbol fue muestreado más de una vez, el punto representa su promedio.
  • Por ultimo, el “grupo” corresponde a una asociacion estadistica. Por ejemplo, para todas las variedades del grupo “b”, el promedio de BRIX es el mismo. Las del grupo “bc” no se pueden distinguir estadisticamente de las variedades del grupo “b” ni del grupo “c”.

En resumen: * Calvillo sigue siendo nuestra variedad con los más altos BRIX (en promedio y según nuestros datos hasta ahora). * HB y TH tienen bastante BRIX, pero no tanto como CA y son y son más o menos iguales entre ellas. * Por último, CH, G3 y HW son iguales entre ellas. * También, pongan atención a la grandísima variabilidad de nuestras poblaciones. Por ejemplo, los arboles de HB tuvieron guayabas con BRIX tan bajos como 6.9 y tan altos como 24.

y= "brix"
varname = "BRIX"


anova = aov(get(y) ~ var, data= datawca)
x = HSD.test(anova, trt  = "var")$groups
HSD.list = cbind("var"= rownames(x), "mean"= x[,1], "groups"= x[,2]) 
data2plot = merge(datawca,HSD.list)
data2plot$groups = paste("Grupo", data2plot$groups)
data2plot$mean = paste("Promedio = ", round(as.numeric(data2plot$mean),2))


a= ggplot(data2plot, aes(x= var, y = brix, label = ID, fill=var))+
    geom_text(aes( y = 1 ,label= groups))+
    geom_text(aes( y = 2 ,label= mean), size = 2.5)+
  geom_bar(stat = "summary", alpha = 0.7)+
  geom_errorbar(stat = "summary", width = 0.5)+
  geom_jitter( alpha= 0.5)+ labs(fill = "Var.")+
  theme(text= element_text(size= 20))+
  labs(y= varname, x = "Variedad")

ggplotly(a)

Voy a usar este gráfico como un ejemplo de uso del RAGIC. El árbol L9/HB/1-22 tuvo un valor altísimo de BRIX, entonces vamos a verlo!

En resumen, es un árbol pequeño y estresado, y es común que arboles así sobrecarguen de azúcar a sus pocos frutos. En la selección que hicimos para despuntar, no teniamos datos del árbo (sólo del fruto), así que incurrimos a menudo en este error.


En otro tema, el Lic. nos mencionó que ha obtenido valores de BRIX muy altos dependiendo de las fechas, entonces me pareció interesante identificar la tendencia anual de la variación del BRIX.

Entonces, en este gráfico tenemos todos los datos de BRIX desde 2019 acomodados según el mes. La barra más alta es la de Octubre, y podríamos pensar que es el mes con más BRIX. Es posible que sea así, pero tenemos un sesgo importante porque en octubre se evaluo muchísima “CH”, y puede ser que ese efecto sólo aplique para esa variedad.

Lástimosamente no tenemos datos de enero, febrero y marzo. Si se quisiera entender mejor este fenómeno, tendría que hacerse un intento por muestrear fruta variada de todas las variedades todos los meses, pero no estoy seguro si los árboles lo permiten. ¿ Opiniones ?

labdate = labwca  %>% filter(FECHA >= as.Date("2020-01-01"))

a=ggplot(labwca, aes(y=BRIX, x = mes ))+
  stat_smooth(method = "loess",formula = y ~ x)+
  ylab ("BRIX")+xlab("Mes")+labs(col = "Var.")+
  theme(text= element_text(size= 20))+
  geom_jitter(aes(col= var), alpha = 0.5)+
  scale_x_continuous( breaks = 1:12, limits= c(1,12))+
  geom_bar(stat = "summary", alpha = 0.5)
  

ggplotly(a)

Sería interesante pensar en materiales que tengan un alto BRIX promedio, y que además sean más estables a través de los meses del año. Para eso serviría un gráfico como el siguiente.

De los datos que tenemos, vemos que hay una tendencia similar en todas las variedades hacia un BRIX mas bajo en Julio/Agosto, que luego sube hacia el final del año. Es aún temprano para saber si hay variedades más estables que otras, pero es una linea importante de investigación. ¿Ustedes qué han notado?

*En CA No hay línea porque hay muy pocos datos.

anova = aov(BRIX ~ var * mes, labdate)
#summary(anova)
meses= HSD.test(anova, trt = "mes")$groups

a=ggplot(labdate, aes(y=BRIX, x =mes, label = ID))+
  stat_smooth(method = "lm",formula = y ~ poly(x,3), se =T)+
  ylab ("BRIX")+xlab("Mes")+labs(col = "Variedad")+
  theme(text= element_text(size= 20))+
  geom_jitter(aes(col= var), alpha = 0.5)+
  facet_wrap(var~., scales = "free_y")+
  scale_x_continuous( breaks = c(1,4,8,12), limits= c(1,12))
  

ggplotly(a)

Calidad 15 dias

Seguimos adelante y vemos qué variedades tienen, en promedio,mejor calidad a los 15 dias. Las mejores variedades son son la TH, HB y CH (grupo a)**. La variedad GG tambien está en el grupo “a”, pero con muy pocas observaciones, así que hay espacio de duda. Tenemos un sesgo importante y es que, cuando la fruta se pudre antes de los 15 dias, no acostumbrabamos a poner evaluaciones.

y= "calidad.15"
varname = "Calidad (15 dias)"

anova = aov(get(y) ~ var, data= datawca)
x = HSD.test(anova, trt  = "var")$groups
HSD.list = cbind("var"= rownames(x), "mean"= x[,1], "groups"= x[,2]) 
data2plot = merge(data,HSD.list)
data2plot$groups = paste("Grupo", data2plot$groups)
data2plot$mean = paste("Promedio = ", round(as.numeric(data2plot$mean),2))


a=ggplot(data2plot, aes(x= var, y = get(y), label = ID, fill=var))+
    geom_text(aes( y = 0.5 ,label= groups))+
    geom_text(aes( y = 1,label= mean), size = 2.5)+
  geom_bar(stat = "summary", alpha = 0.7)+ labs(fill= "Variedad")+
  geom_errorbar(stat = "summary", width = 0.5)+
  geom_jitter( alpha= 0.5)+ 
  theme(text= element_text(size= 20))+
  labs(y= varname, x = "Variedad")

ggplotly(a)

Calidad 21 dias

Si nos vamos a los 21 dias, no hay diferencias importantes entre variedades. Pero, tenemos el mismo problema del sesgo que les comenté antes. Eso es: sólo las guayabas que llegaron vivas a este punto tienen una evaluación.

y= "calidad.21"
varname = "Calidad 21 dias)"

anova = aov(get(y) ~ var, data= datawca)
x = HSD.test(anova, trt  = "var")$groups
HSD.list = cbind("var"= rownames(x), "mean"= x[,1], "groups"= x[,2]) 
data2plot = merge(data,HSD.list)
data2plot$groups = paste("Grupo", data2plot$groups)
data2plot$mean = paste("Promedio = ", round(as.numeric(data2plot$mean),2))


a=ggplot(data2plot, aes(x= var, y = get(y), label = ID, fill=var))+
    geom_text(aes( y = 0.5 ,label= groups))+
    geom_text(aes( y = 1,label= mean), size = 2.5)+
  geom_bar(stat = "summary", alpha = 0.7)+labs(fill= "Var.")+
  geom_errorbar(stat = "summary", width = 0.5)+
  geom_jitter( alpha= 0.5)+ 
  theme(text= element_text(size= 20))+
  labs(y= varname, x = "Variedad")

ggplotly(a)

Sabor

Sorpesivamente, la variedad más sabrosa es la HW (en promedio y según los datos) La segunda más sabrosa es la TH y la GG (?). La menos sabrosa por su parte es la CH con un promedio de solo 3.16. ¿Están de acuerdo? ¿Qué piensan? ¿Se acuerdan cuando nos calibramos con la prueba de degustación?*

*En ese caso, sólo teníamos una HW, y el mejor promedio lo tuvieron TH y CH.

y= "sabor"
varname = "sabor"

anova = aov(get(y) ~ var, data= datawca)
x = HSD.test(anova, trt  = "var")$groups
HSD.list = cbind("var"= rownames(x), "mean"= x[,1], "groups"= x[,2]) 
data2plot = merge(data,HSD.list)
data2plot$groups = paste("Grupo", data2plot$groups)
data2plot$mean = paste("Promedio = ", round(as.numeric(data2plot$mean),2))


a=ggplot(data2plot, aes(x= var, y = get(y), label = ID, fill=var))+
    geom_text(aes( y = 0.2 ,label= groups))+
    geom_text(aes( y = 0.5,label= mean), size = 2.5)+
  geom_bar(stat = "summary", alpha = 0.7)+
  geom_errorbar(stat = "summary", width = 0.5)+
  geom_jitter( alpha= 0.5)+ 
  theme(text= element_text(size= 20))+
  labs(y= varname, x = "Variedad")+labs(fill= "Var.")

ggplotly(a)

Si revisamos las fechas, ya entendemos porque nos salió tan alta HW, y es porque la mayoría de evaluaciones las tenemos en junio/julio (donde habiamos visto una tendencia general a más alto BRIX) y casi no hay evaluaciones en Agosto (donde por lo general hay un bajón en los BRIX)

a= ggplot(labdate, aes(y=SABOR, x =mes, label = ID))+
  stat_smooth(method = "lm",formula = y ~ poly(x,3), se =T)+
  ylab ("Sabor")+xlab("Mes")+labs(col = "Variedad")+
  theme(text= element_text(size= 20))+
  geom_jitter(aes(col= var), alpha = 0.5)+
  facet_wrap(var~., scales = "free_y")+
  scale_x_continuous( breaks = c(1,4,8,12), limits= c(1,12))+labs(fill= "Var.")
  
  
ggplotly(a)  

Semillas

En el caso de las semillas, no encontramos ninguna de nuestras variedades que tenga consistentemente menos semillas que el resto. Sin embargo, eso no quiere decir que dentro de nuestras poblaciones no haya árboles interesantes que nos puedan conferir esa característica. Además, si es cierto que la GG tiene un promedio más bajo que las demas ( 1.24 ). Más evaluaciones podrían terminar de separarlas estadísticamente.

y= "semillas"
varname = "Semillas"

anova = aov(get(y) ~ var, data= datawca)
x = HSD.test(anova, trt  = "var")$groups
HSD.list = cbind("var"= rownames(x), "mean"= x[,1], "groups"= x[,2]) 
data2plot = merge(data,HSD.list)
data2plot$groups = paste("Grupo", data2plot$groups)
data2plot$mean = paste("Promedio = ", round(as.numeric(data2plot$mean),2))


a=ggplot(data2plot, aes(x= var, y = get(y), label = ID, fill=var))+
    geom_text(aes( y = 0.2 ,label= groups))+
    geom_text(aes( y = 0.5,label= mean), size = 2.5)+
  geom_bar(stat = "summary", alpha = 0.7)+
  geom_errorbar(stat = "summary", width = 0.5)+
  geom_jitter( alpha= 0.5)+ 
  theme(text= element_text(size= 20))+
  labs(y= varname, x = "Variedad")+labs(fill= "Var.")

ggplotly(a)

Peso

Para el peso, no hay sorpresas y podemos verlo velozmente. CH es por mucho la más grande, seguida por HB. TH es la más pequeña.

y= "peso"
varname = "Peso (g)"

anova = aov(get(y) ~ var, data= datawca)
x = HSD.test(anova, trt  = "var")$groups
HSD.list = cbind("var"= rownames(x), "mean"= x[,1], "groups"= x[,2]) 
data2plot = merge(data,HSD.list)
data2plot$groups = paste("Grupo", data2plot$groups)
data2plot$mean = paste("Promedio = ", round(as.numeric(data2plot$mean),2))


a=ggplot(data2plot, aes(x= var, y = get(y), label = ID, fill=var))+
    geom_text(aes( y = 20 ,label= groups))+
    geom_text(aes( y = 50,label= mean), size = 2.5)+
  geom_bar(stat = "summary", alpha = 0.7)+
  geom_errorbar(stat = "summary", width = 0.5)+
  geom_jitter( alpha= 0.5)+ 
  theme(text= element_text(size= 20))+
  labs(y= varname, x = "Variedad")+labs(fill= "Var.")

ggplotly(a)

Firmeza

Similar para el caso de la firmeza. CH es por mucho la más firme, seguidar por GG y luego todas las demás.

y= "firmeza"
varname = "Firmeza (kg)"

anova = aov(get(y) ~ var, data= datawca)
x = HSD.test(anova, trt  = "var")$groups
HSD.list = cbind("var"= rownames(x), "mean"= x[,1], "groups"= x[,2]) 
data2plot = merge(data,HSD.list)
data2plot$groups = paste("Grupo", data2plot$groups)
data2plot$mean = paste("Promedio = ", round(as.numeric(data2plot$mean),2))


a=ggplot(data2plot, aes(x= var, y = get(y), label = ID, fill=var))+
    geom_text(aes( y = 1,label= groups))+
    geom_text(aes( y = 1.5,label= mean), size = 2.5)+
  geom_bar(stat = "summary", alpha = 0.7)+
  geom_errorbar(stat = "summary", width = 0.5)+
  geom_jitter( alpha= 0.2)+ 
  theme(text= element_text(size= 20))+
  labs(y= varname, x = "Variedad")+labs(fill= "Var.")

ggplotly(a)
  a=ggplot(data, aes(x= firmeza, y = calidad.21, label = ID, fill=var))+
  geom_jitter( alpha= 0.5)+ 
  theme(text= element_text(size= 20))

#ggplotly(a)



Correlaciones.

Las correlaciones son muy útiles a la hora de hacer mejora, porque nos permiten:

Correlaciones entre BRIX y peso

Podemos afirmar con certeza y con nuestras guayabas que, en general, a mayor peso, menor BRIX. Pero, ese efecto no es igual en todas las variedades. De hecho, en las variedades TH y HW, lq correlación es más débil, pero tiene que ver con que estas variedades son en genel más pequeñas.

a= ggplot(labdate, aes(x= `PESO..g.` , y = BRIX, label = ID))+
  geom_jitter( alpha= 0.2, aes(col=var))+ 
  theme(text= element_text(size= 20))+
  labs(y= "BRIX", x = "Peso (g)", col = "Variedad")+
  geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y = 25, size = 6, aes(label = ..r.label..))


#png("corpesobrix.png", width = 700, height = 700)
#a
#dev.off(which = 2)
a= ggplot(labdate, aes(x= `PESO..g.` , y = BRIX, label = ID, col=var))+
  geom_jitter( alpha= 0.4)+ 
  theme(text= element_text(size= 20))+
  labs(y= "BRIX", x = "Peso (g)", col = "Variedad")+
  geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y = 25, size = 5, aes(label = ..r.label..))+
  facet_wrap(var~.)

a
## `geom_smooth()` using formula 'y ~ x'

#png("corpesobrix2.png", width = 700, height = 700)
#a
#dev.off(which = 2)

Correlaciones entre BRIX y sabor

Evidentemente, en todas las variedades el BRIX está muy relacionado con el sabor. Pero, en GG y TH, el BRIX es menos importante para determinar el sabor. Posiblemente hay otras variables que no estamos aún midiendo.

a= ggplot(labdate[labdate$var != "CA",], aes(x= BRIX , y =SABOR, label = ID, col=var))+
  geom_jitter( alpha= 0.4)+ 
  theme(text= element_text(size= 20))+
  labs(x= "BRIX", y = "Sabor", col = "Variedad")+
  geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y =1,label.x =12, size = 7, aes(label = ..r.label..))+
  facet_wrap(var~.)
a
## `geom_smooth()` using formula 'y ~ x'

#png("corbrixsabor.png", width = 700, height = 700)
#a
#dev.off(which = 2)

Correlaciones entre BRIX y semillas

Esta es muy interesante. Para dos variedades, la relación indica que entre menos semillas, mayor brix. Esto tiene una explicación, y es que la planta tiene que dividir recursos energéticos, y entre más tiene que invertir para llenar las semillas, menos azúcares puede poner en la pulpa.

*Excepción en GG

a= ggplot(labdate[labdate$var != "CA",], aes(x= BRIX , y =SEMILLAS, label = ID, col=var))+
  geom_jitter( alpha= 0.4)+ 
  theme(text= element_text(size= 20))+
  labs(x= "BRIX", y = "Semillas", col = "Variedad")+
  geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y =4,label.x =12, size = 7, aes(label = ..r.label..))+
  facet_wrap(var~.)
a
## `geom_smooth()` using formula 'y ~ x'

#png("corbrixsemillas.png", width = 700, height = 700)
#a
#dev.off(which = 2)

Correlaciones entre BRIX y Carga

Como podría esperarse, entre más cargado esté un arbol, sus frutos traen menos BRIX. Lo vemos muy claramente en HB y TH.

a= ggplot(data, aes(x= brix , y = carga, label = ID, col=var))+
  geom_jitter( alpha= 0.4)+ 
  theme(text= element_text(size= 20))+
  labs(x= "BRIX", y = "Carga de fruta", col = "Variedad")+
    geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y =1,label.x = 15 ,size = 6, aes(label = ..r.label..))+
  facet_wrap(var~.)
a
## `geom_smooth()` using formula 'y ~ x'

#png("corbrixcarga.png", width = 700, height = 700)
#a
#dev.off(which = 2)
## NO LA ESTOY MOSTRANDO
### Correlaciones entre BRIX y Calidad 15 Dias
#Prácticamente no hay nada que ver aquí.


a= ggplot(labdate[labdate$var == "CH" |labdate$var == "HB" | labdate$var == "TH" ,], aes(x=BRIX , y =EVALUACION.15.DIAS, label = ID, col=var))+
  geom_jitter( alpha= 0.4)+ 
  theme(text= element_text(size= 20))+
  labs(x= "BRIX", y = "Calidad 15 dias")+
    geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y =1, label.x =10, size = 7, aes(label = ..r.label..))+
  facet_wrap(var~., scales = "free_x")
#a

png("corbrixvigor.png", width = 700, height = 700)
a
dev.off(which = 2)
#Hidden

### Correlaciones entre Peso y semillas
#Nada interesante. Solo una correlacion negativa para HW.


ggplot(labdate[labdate$var != "CA",], aes(x= PESO..g. , y = SEMILLAS, label = ID, col=var))+
  geom_jitter( alpha= 0.4)+
  theme(text= element_text(size= 20))+
  labs(x= "Peso", y = "Semillas")+
    geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y =1, label.x= 400, size = 7, aes(label = ..r.label..))+
  facet_wrap(var~.)
#a

png("corpresosemillas.png", width = 700, height = 700)
a
dev.off(which = 2)
#Correlaciones entre Brix y firmeza
#Esto solo esta bien correlacionado ( y extranamente de forma positiva) en GG y G3.



a= ggplot(labdate[labdate$var != "CA",], aes(x= BRIX , y = FIRMEZA..Kg., label = ID, col=var))+
  geom_jitter( alpha= 0.4)+
  theme(text= element_text(size= 20))+
  labs(x= "Brix", y = "Firmeza(kg)")+
    geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y =1, label.x= 11, size = 7, aes(label = ..r.label..))+
  facet_wrap(var~.)
a

png("corbrixfirmeza.png", width = 700, height = 700)
a
dev.off(which = 2)

Correlaciones entre firmeza y calidad 15 dias

Interesantemente, vemos tres comportamientos diferentes entre variedades. EN CH parece ser cierto que las frutas más firmes tienen mejor poscosecha ( en general), mientras que en HB es irrelevante y en TH negativo. *A tomar con precaución.

a= ggplot(labdate[labdate$var == "CH" |labdate$var == "HB" | labdate$var == "TH" ,], aes(x= FIRMEZA..Kg.,
                                             y = EVALUACION.15.DIAS, label = ID, col=var))+
  geom_jitter( alpha= 0.4)+
  theme(text= element_text(size= 20))+
  labs(y= "Calidad 15 dias", x = "Firmeza(kg)")+
    geom_smooth(method = "lm")+
  stat_cor(method="pearson", label.y =1, label.x= 1, size = 7, aes(label = ..r.label..))+
  facet_wrap(var~.)+ylim(c(0,5))
a
## `geom_smooth()` using formula 'y ~ x'

#png("corcalidad15firmeza.png", width = 700, height = 700)
#a
#dev.off(which = 2)

Además de lo que vimos, tambien probé correlaciones entre las siguientes características, pero no encontré correlaciones.

  • BRIX y Calidad 15-21 dias

  • Brix y firmeza

  • Semillas y Peso del fruto





Parte 2: Seleccion de árboles para vareta y cruce

En esta sección vamos a describir la selección de los árboles que queremos en nuestra siguiente etapa. Con estos árboles vamos a hacer una doble operación.

A continuación está el resumen de los cruces que acordamos en Agosto que ibamos a hacer. Es importante recordarla para, a la hora de escoger los papás del cruce, tener en cuenta estas características. Como ven, hay 5 combinaciones, así que al menos, vamos a tener que hacer 25 cruces.

cruces <- read.csv("Cruces.csv")

colnames(cruces)= c("Variedad Hembra",  "Aporte de la hembra", "Variedad Macho", "Aporte del macho",
                    "Objetivo")
kable(cruces)
Variedad Hembra Aporte de la hembra Variedad Macho Aporte del macho Objetivo
CA Sabor GG Menos semilla y larga vida de anaquel Tipo Calvillo mejorada
CA Sabor HB Mayor tamaño, menos semilla y larga vida de anaquel (y sabor?) Tipo Calvillo mejorada
CA Sabor CH Mayor tamaño, menos semilla y larga vida de anaquel Tipo Calvillo mejorada
CH Mayor tamaño, menos semilla y larga vida de anaquel HW (ROSA) Pulpa rosa Tipo asiática-rosa
CH Mayor tamaño, menos semilla y larga vida de anaquel TH Pulpa rosa buena vida de anaquel. Tipo asiática-rosa

Selección en CH

A continuación vamos a hacer selección en CH. Tenemos 1554 árboles en campo y hemos evaluado mas de 900 en el lab.

Para llegar a una lista de unos ~35 árboles buenos, vamos a aplicar una serie de filtros. Esto lo hacemos sobre el promedio de todas las evaluaciones por árbol y consideramos que en los arboles evaluados mas de una vez, el promedio es mas robusto y creible. Los filtros son:

  • Cantidad de Semillas < 1
  • Calidad 15 días > 4
  • Brix > 11
  • Sabor > 4
  • Vigor > 3
  • Carga > 3

Luego de aplicar esos filtros, revisé si había algo de lo que habiamos preparado en Agosto que se haya quedado fuera de la selección por poco, o si habia algo interesante en los materiales que habia evaluado Beto.

#Subseleccion de CH
data_ch = subset(data, var == "CH")
lab_ch = subset(labdate, var == "CH")
unique = unique(lab_ch$ID)
lab_ch_check  = lab_ch %>% select(ID, OBSERVACIONES)

# Aplicamos filtros
sel_ch =  data_ch %>% filter ( semillas <= 1, 
                              calidad.15 >= 4, 
                              vigor >= 3,
                              carga >= 3,
                              brix >= 11, 
                              sabor >= 4)   %>% 
                       arrange(arbol)


#Preparadas y elegidas
preparadas_ch = subset(preparadas, Variedad == "CH")
#intersect(sel_ch$ID, preparadas_ch$ID)

#Preparadas y no elegidas
x= setdiff(preparadas_ch$ID, sel_ch$ID)
prepnotchosen = data_ch %>% filter(ID %in% x)
#Revisar todo lo de nobs > 1 y elegir lo bueno

#Elegidas y no preparadas
y= setdiff(sel_ch$ID, preparadas_ch$ID)
chosennotprep= data_ch %>% filter(ID %in% y)
#Elegir todo lo de nobs > 1 
# Ya tengo 18 arboles
#Dentro de todo lo de nobs = 1, elegir lo bueno.
# Al final lo elegi todo y cerre en 35.

texas_ch = subset(texas, var== "CH")
z= intersect(texas_ch$ID, sel_ch$ID)
write.csv(texas_ch, "2deletech.csv")

Entonces, usando esos filtros construryo mi lista que es la siguiente, con un total de 38 arboles sobresalientes. Hay algunos materiales que no pasan los filtros si somos estrictos, pero por distintas razones anotadas en el cuadro los dejamos pasar. También le damos la oportunidad a algunos materiales que estuvieron bien en Texas aunque no tengan buenos números en MX.

selprelim_ch = read.csv("Seleccion preliminar CH.csv")

selfinal_ch = merge(data_ch, selprelim_ch) %>% 
              dplyr::arrange(desc(Pasa.filtros), desc(Despuntada))%>%
              select(ID, "Num. Obs."= n_lab, Pasa.filtros, 
                     Despuntada, brix,"Calidad 15 dias" = calidad.15, "Sabor"= sabor,"Semillas"=  semillas,"Vigor" = vigor )

#nrow(selfinal_ch)
kable(selfinal_ch )
ID Num. Obs. Pasa.filtros Despuntada brix Calidad 15 dias Sabor Semillas Vigor
L9/CH/10-20 3 Si Si 12.37 5 4.00 1.00 4.0
L9/CH/12-19 3 Si Si 13.37 5 4.33 1.00 5.0
L9/CH/13-26 2 Si Si 12.20 5 4.00 1.00 3.0
L9/CH/32-23 2 Si Si 13.75 5 4.00 1.00 4.0
L9/CH/35-8 2 Si Si 13.30 5 4.00 1.00 4.0
L9/CH/11-14 1 Si No 11.50 5 4.00 1.00 4.0
L9/CH/12-6 1 Si No 12.30 5 5.00 2.00 4.0
L9/CH/12-8 1 Si No 11.30 5 4.00 1.00 4.0
L9/CH/13-16 1 Si No 11.40 5 5.00 1.00 4.0
L9/CH/14-36 1 Si No 11.20 5 4.00 1.00 4.0
L9/CH/14-4 2 Si No 15.25 5 4.50 1.00 4.0
L9/CH/2-36 1 Si No 13.00 5 5.00 1.00 4.0
L9/CH/23-20 2 Si No 13.20 5 4.00 1.00 3.0
L9/CH/27-16 1 Si No 11.10 5 4.00 1.00 4.0
L9/CH/3-36 2 Si No 12.70 5 4.00 1.00 4.0
L9/CH/31-28 1 Si No 11.00 5 4.00 1.00 3.0
L9/CH/32-11 1 Si No 11.00 5 4.00 1.00 4.0
L9/CH/33-16 1 Si No 12.10 5 5.00 1.00 3.0
L9/CH/5-33 1 Si No 12.00 5 4.00 1.00 4.0
L9/CH/6-33 1 Si No 11.00 5 4.00 1.00 4.0
L9/CH/8-24 1 Si No 11.00 5 4.00 1.00 4.0
L9/CH/8-29 3 Si No 13.65 5 4.33 1.00 4.0
L9/CH/8-38 1 Si No 12.00 5 4.00 1.00 4.0
L9/CH/1-23 3 No Si 11.20 5 3.67 1.00 4.0
L9/CH/12-25 3 No Si 14.13 5 4.00 1.33 NaN
L9/CH/15-21 3 No Si 13.13 5 3.33 1.67 NaN
L9/CH/22-30 2 No Si 14.00 5 3.50 1.00 4.0
L9/CH/3-29 2 No Si 9.30 5 4.50 1.50 4.5
L9/CH/31-18 2 No Si 13.10 5 3.50 1.00 4.0
L9/CH/9-6 3 No Si 13.13 5 4.00 1.33 4.0
L9/CH/14-11 1 No No 12.30 5 5.00 2.00 5.0
L9/CH/15-39 1 No No NaN NaN NaN NaN 5.0
L9/CH/16-44 1 No No NaN NaN NaN NaN 4.0
L9/CH/23-41 1 No No 9.00 5 3.00 3.00 4.0
L9/CH/23-7 1 No No 10.40 5 5.00 2.00 4.0
L9/CH/26-23 2 No No 9.90 5 3.00 1.00 3.0
L9/CH/26-40 1 No No 12.20 5 5.00 2.00 4.0
L9/CH/9-7 1 No No 9.10 5 3.00 1.00 4.0
write.csv(selfinal_ch, "Seleccion Final CH.csv")

Seleccion en HB

Para HB tenemos 572 arboles declarados y 234 evaluados al menos una vez.

Sin embargo, en este caso si usamos el filtro sólo nos pasan 15 arboles, de los cuales sólo uno esta despuntado. Lo que pasa en este caso es que antes de agosto de este año muy pocos de estos árboles fueron evaluados para calidad post-cosecha. Así que me quedo con esos 15 y con algunos otros que habiamos seleccionado para despuntar, y también algunos elegidos a mano según los comentarios sobre las evaluaciones anteriores.

Entonces, nos queda la lista con unos 35 árboles.

#Subseleccion de HB
data_hb = subset(data, var == "HB")
lab_hb = subset(labdate, var == "HB")
unique = unique(lab_hb$ID)
lab_hb_check  = lab_hb %>% select(ID, OBSERVACIONES)
# Aplicamos filtros
sel_hb =  data_hb %>% filter ( semillas <= 1, 
                              calidad.15 >= 4, 
                              vigor >= 3,
                              carga >= 3,
                              #brix >= 11, 
                              sabor >= 4)   %>% 
                              arrange(arbol)



#Preparadas y elegidas
preparadas_hb = subset(preparadas, Variedad == "HB")
#intersect(sel_hb$ID, preparadas_hb$ID)

#Preparadas y no elegidas
x= setdiff(preparadas_hb$ID, sel_hb$ID)
prepnotchosen = data_hb %>% filter(ID %in% x)
#Revisar todo lo de nobs > 1 y elegir lo bueno
write.csv(prepnotchosen, "2deletehb.csv")


#Elegidas y no preparadas
y= setdiff(sel_hb$ID, preparadas_hb$ID)
chosennotprep= data_hb %>% filter(ID %in% y)
#Elegir todo lo de nobs > 1 
# Ya tengo 18 arboles
#Dentro de todo lo de nobs = 1, elegir lo bueno.
# Al final lo elegi todo y cerre en 35.


#Excepcionales Manuel

manuel_hb = data_hb %>% filter (liston == "Material Excepcional")
selprelim_hb = read.csv("Seleccion preliminar HB.csv")

selfinal_hb = merge(data_hb, selprelim_hb) %>% 
              dplyr::arrange(desc(Pasa.filtros), desc(Despuntada))%>%
               select(ID, "Num. Obs."= n_lab, Pasa.filtros, 
                     Despuntada, brix,"Calidad 15 dias" = calidad.15, "Sabor"= sabor,"Semillas"=  semillas,"Vigor"= vigor )
#nrow(selfinal_hb)

kable(selfinal_hb)
ID Num. Obs. Pasa.filtros Despuntada brix Calidad 15 dias Sabor Semillas Vigor
L9/HB/14-10 2 Si Si 14.85 5 5.00 1.00 5
L9/HB/1-17 1 Si No 13.00 5 5.00 1.00 3
L9/HB/10-16 1 Si No 14.00 5 5.00 1.00 5
L9/HB/10-5 1 Si No 14.00 5 5.00 1.00 3
L9/HB/11-29 2 Si No 14.35 5 4.50 1.00 4
L9/HB/13-16 1 Si No 12.00 5 4.00 1.00 3
L9/HB/13-4 1 Si No 12.10 5 5.00 1.00 4
L9/HB/13-5 1 Si No 11.00 5 4.00 1.00 4
L9/HB/2-18 1 Si No 16.00 5 5.00 0.00 4
L9/HB/2-27 1 Si No 11.00 5 4.00 1.00 3
L9/HB/2-33 1 Si No 13.00 5 5.00 1.00 5
L9/HB/3-12 1 Si No 12.00 5 5.00 1.00 4
L9/HB/3-36 3 Si No 13.33 5 4.33 1.00 3
L9/HB/4-11 1 Si No 12.00 5 5.00 1.00 4
L9/HB/5-34 1 Si No 13.00 5 5.00 1.00 4
L9/HB/6-31 1 Si No 13.00 5 5.00 1.00 4
L9/HB/10-22 1 No Si 16.30 NaN 5.00 1.00 4
L9/HB/10-36 2 No Si 24.50 NaN 5.00 1.00 4
L9/HB/11-15 2 No Si 12.60 5 3.50 1.50 2
L9/HB/11-21 1 No Si 18.80 NaN 5.00 1.00 4
L9/HB/11-26 2 No Si 12.00 5 4.00 2.50 3
L9/HB/14-11 2 No Si 13.05 NaN 4.50 1.00 5
L9/HB/2-23 1 No Si 10.00 5 3.00 1.00 NaN
L9/HB/4-12 1 No Si 18.60 NaN 5.00 1.00 3
L9/HB/7-34 3 No Si 14.90 5 4.33 1.67 4
L9/HB/7-36 2 No Si 21.80 NaN 5.00 1.00 3
L9/HB/8-28 2 No Si 16.25 NaN 4.50 1.00 2
L9/HB/8-37 1 No Si 19.30 NaN 5.00 2.00 3
L9/HB/1-29 1 No No 12.00 5 5.00 1.00 3
L9/HB/1-36 3 No No 15.67 5 4.00 0.67 3
L9/HB/10-38 1 No No 12.40 NaN 5.00 NaN 4
L9/HB/4-36 1 No No 15.70 NaN 5.00 2.00 5
L9/HB/7-35 4 No No 20.18 NaN 4.75 1.00 4
L9/HB/8-19 3 No No 11.33 NaN 5.00 1.00 4
L9/HB/8-36 3 No No 18.07 NaN 5.00 1.33 3

Seleccion en TH

Para TH, si aplicamos los filtros nos quedan unos 24 arboles. De nuevo, complementamos la lista usando la selección de despuntes, los comentarios buenos y las evaluaciones en Texas.

#Subseleccion de TH
data_TH = subset(data, var == "TH")
lab_TH = subset(labdate, var == "TH")
unique = unique(lab_TH$ID)
lab_TH_check  = lab_TH %>% select(ID, BRIX, SEMILLAS, EVALUACION.15.DIAS, OBSERVACIONES, CASOS.ESPECIALES)
# Aplicamos filtros
sel_TH =  data_TH %>% filter ( semillas <= 1, 
                              calidad.15 >= 4, 
                              vigor >= 3,
                              carga >= 3,
                              #brix >= 11, 
                              sabor >= 4)   %>% 
                              arrange(arbol)



#Preparadas y elegidas
preparadas_TH = subset(preparadas, Variedad == "TH")
#intersect(sel_TH$ID, preparadas_TH$ID)

#Preparadas y no elegidas
x= setdiff(preparadas_TH$ID, sel_TH$ID)
prepnotchosen = data_TH %>% filter(ID %in% x)
#Revisar todo lo de nobs > 1 y elegir lo bueno
write.csv(prepnotchosen, "2deleteTH.csv")


#Elegidas y no preparadas
y= setdiff(sel_TH$ID, preparadas_TH$ID)
chosennotprep= data_TH %>% filter(ID %in% y)
write.csv(chosennotprep, "2deleteTH.csv")
#Elegir todo lo de nobs > 1 
# Ya tengo 18 arboles
#Dentro de todo lo de nobs = 1, elegir lo bueno.
# Al final lo elegi todo y cerre en 35.


#Excepcionales Manuel

manuel_TH = data_TH %>% filter (liston == "Material Excepcional")



texas_TH = subset(texas, var== "TH")
z= intersect(texas_TH$ID, sel_TH$ID)
write.csv(texas_TH , "2deleteth.csv")

La lista es la siguiente y tiene 35 árboles:

selprelim_TH = read.csv("Seleccion preliminar TH.csv")

selfinal_TH = merge(data_TH, selprelim_TH) %>% 
              dplyr::arrange(desc(Pasa.filtros), desc(Despuntada))%>%
               select(ID, "Num. Obs."= n_lab, Pasa.filtros, 
                     Despuntada, brix,"Calidad 15 dias" = calidad.15, "Sabor"= sabor,"Semillas"=  semillas,"Vigor"= vigor )
#nrow(selfinal_TH)

kable(selfinal_TH)
ID Num. Obs. Pasa.filtros Despuntada brix Calidad 15 dias Sabor Semillas Vigor
L7/TH/86-10 2 Si Si 11.00 5.0 4.00 1.00 4
L7/TH/86-50 2 Si Si 12.25 5.0 4.00 1.00 4
L7/TH/86-16 2 Si No 10.90 5.0 4.00 1.00 4
L7/TH/86-47 2 Si No 11.20 5.0 4.50 1.00 3
L7/TH/87-29 3 Si No 16.30 5.0 5.00 1.00 3
L7/TH/87-34 2 Si No 11.60 5.0 5.00 1.00 4
L7/TH/88-23 2 Si No 15.70 5.0 5.00 1.00 4
L7/TH/88-26 1 Si No 14.90 5.0 5.00 1.00 3
L7/TH/88-30 2 Si No 14.05 5.0 4.50 1.00 3
L7/TH/88-31 2 Si No 11.80 5.0 4.00 1.00 4
L7/TH/88-41 2 Si No 10.95 5.0 5.00 1.00 3
L7/TH/88-42 2 Si No 13.25 5.0 5.00 1.00 4
L7/TH/89-16 1 Si No 11.80 5.0 5.00 1.00 4
L7/TH/89-17 1 Si No 11.00 5.0 4.00 1.00 4
L7/TH/89-40 1 Si No 12.00 5.0 5.00 1.00 4
L7/TH/90-15 3 Si No 10.53 5.0 4.00 1.00 4
L7/TH/90-17 2 Si No 12.55 5.0 4.00 1.00 3
L7/TH/90-5 2 Si No 12.30 5.0 5.00 1.00 4
L7/TH/86-18 2 No Si 14.10 NaN 5.00 1.00 4
L7/TH/86-19 3 No Si 11.27 3.5 3.50 2.00 4
L7/TH/86-22 3 No Si 14.37 NaN 4.00 1.00 4
L7/TH/86-37 4 No Si 12.50 4.0 4.33 1.50 4
L7/TH/87-27 3 No Si 14.70 NaN 4.00 1.33 3
L7/TH/87-49 3 No Si 11.27 5.0 3.00 1.33 4
L7/TH/87-9 2 No Si 18.40 5.0 5.00 1.00 4
L7/TH/88-19 3 No Si 13.80 5.0 3.00 1.33 4
L7/TH/89-19 1 No Si 11.00 5.0 4.00 2.00 4
L7/TH/89-43 1 No Si 11.00 5.0 4.00 2.00 4
L7/TH/86-27 2 No No 10.50 5.0 3.00 1.00 3
L7/TH/87-31 3 No No 14.47 5.0 4.67 1.67 3
L7/TH/87-32 2 No No 8.90 5.0 4.00 1.50 3
L7/TH/87-7 3 No No 9.23 5.0 4.00 1.33 3
L7/TH/88-15 4 No No 14.75 5.0 5.00 1.25 5
L7/TH/89-46 1 No No 10.60 5.0 3.00 1.00 4
L7/TH/90-9 3 No No 9.10 5.0 3.67 1.33 4

Seleccion en GG

Para el caso de GG, tenemos 218 árboles, pero apenas unos 30 han sido evaluados en laboratorio.

Ademas, esta variedad la queremos cruzar, pero no nos interesa para sacar vareta de ella misma. Cierto?

Entonces, la estrategia es diferente. Tomamos la lista de esas 30 (porque de los demás no sabemos nada de la fruta) y nada más quitamos las que tengan fruta MUY mala y los arboles con poco vigor ( de los que costaría mucho encontrar flor). Al final, tenemos 22 árboles para elegir para cruzar.

#Subseleccion de GG
data_GG = subset(data, var == "GG")
lab_GG = subset(labdate, var == "GG")
unique = unique(lab_GG$ID)
lab_GG_check  = lab_GG %>% select(ID, BRIX, SEMILLAS, EVALUACION.15.DIAS, OBSERVACIONES, CASOS.ESPECIALES)

write.csv(data_GG, "2deleteGG.csv")


#Preparadas y elegidas
preparadas_GG = subset(preparadas, Variedad == "GG")


selprelim_GG = read.csv("Seleccion preliminar GG.csv")

selfinal_GG = merge(data_GG, selprelim_GG) %>% 
              dplyr::arrange(desc(Despuntada), calidad.15)%>%
               select(ID, "Num. Obs."= n_lab,  
                     Despuntada, "BRIX" = brix,"Calidad 15 dias" = calidad.15, "Sabor"= sabor,"Semillas"=  semillas,"Vigor"= vigor )
#nrow(selfinal_GG)

kable(selfinal_GG)
ID Num. Obs. Despuntada BRIX Calidad 15 dias Sabor Semillas Vigor
L7/GG/78-26 2 Si 9.05 5 3.5 1.00 5
L7/GG/81-18 1 Si 15.30 NaN 5.0 1.00 5
L7/GG/81-6 1 Si 19.90 NaN 5.0 1.00 4
L7/GG/79-3 1 No 8.20 5 2.0 0.00 5
L7/GG/79-4 2 No NaN 5 4.0 0.00 4
L7/GG/79-45 1 No 8.80 5 2.0 2.00 4
L7/GG/81-13 1 No 7.90 5 2.0 0.00 3
L7/GG/78-15 1 No 14.00 NaN 4.0 1.00 5
L7/GG/78-2 3 No 11.53 NaN 4.0 1.33 5
L7/GG/78-20 2 No 10.10 NaN 4.0 1.00 4
L7/GG/78-5 1 No 10.80 NaN 5.0 2.00 4
L7/GG/79-12 1 No 9.90 NaN 4.0 1.00 5
L7/GG/79-13 3 No 9.70 NaN 4.0 1.33 4
L7/GG/79-24 1 No 11.60 NaN 4.0 2.00 5
L7/GG/79-5 1 No 13.30 NaN 4.0 2.00 4
L7/GG/80-11 2 No 11.55 NaN 4.0 1.50 5
L7/GG/80-20 1 No 13.80 NaN 4.0 1.00 4
L7/GG/80-21 1 No 9.80 NaN 4.0 1.00 4
L7/GG/80-3 1 No 12.30 NaN 4.0 3.00 4
L7/GG/80-45 1 No 11.20 NaN 4.0 1.00 3
L7/GG/81-24 1 No 13.80 NaN 4.0 3.00 4
L7/GG/81-33 1 No 11.00 NaN 4.0 1.00 5

Seleccion en HW

Por ultimo, ¿qué nos interesa en HW?

El arbol más importante por el momento es el “L7/HW/83-55”, porque es el único rosa que hemos hallado por ahora, y si volvemos a la hoja de planificacion de cruces, el cruce lo queremos hacer con esta. Sin embargo, la fruta es climatérica y no estamos seguro de que pueda funcionar el cruce.

Ademas, si queremos explorar más cruces con esta variedad, o si aun hay recursos e interes por reproducir vareta, podemos hacer una lista también, pero más corta.

Por último, si queremos sacar vareta de este material, yo sugiero evaluarlo más para elegir lo mejorcito.

#Subseleccion de HW
data_HW = subset(data, var == "HW")
campo_HW = subset(campo, var == "HW")

lab_HW = subset(labdate, var == "HW")
unique = unique(lab_HW$ID)
lab_HW_check  = lab_HW %>% select(ID, BRIX, SEMILLAS, EVALUACION.15.DIAS, OBSERVACIONES, CASOS.ESPECIALES)
# Aplicamos filtros

sel_HW =  data_HW %>% filter ( semillas <= 2, 
                                vigor >= 3,
                                carga >= 3,
                                calidad > 3,
                                brix >= 10, 
                                sabor >= 4)   %>% 
                              arrange(arbol)

write.csv(sel_HW, "2deleteHW.csv")
#Preparadas y elegidas



#Seleccion preliminar (todo sel_ch + la estrella rosq)
selprelim_HW = read.csv("Seleccion preliminar HW.csv")

selfinal_HW = merge(data_HW, selprelim_HW) %>% 
              dplyr::arrange(desc(Despuntada), calidad.15)%>%
               select(ID, "Num. Obs."= n_lab,  
                     Despuntada, "BRIX" = brix, "Sabor"= sabor,"Semillas"=  semillas,"Vigor"= vigor )
#nrow(selfinal_HW)

kable(selfinal_HW)
ID Num. Obs. Despuntada BRIX Sabor Semillas Vigor
L7/HW/83-55 1 Si 11.00 3.00 2.00 4
L7/HW/83-45 2 No 10.60 5.00 1.50 3
L7/HW/82-1 2 No 10.50 4.00 1.00 3
L7/HW/82-13 1 No 10.40 4.00 2.00 5
L7/HW/82-19 4 No 10.57 4.25 1.75 3
L7/HW/82-21 1 No 13.20 4.00 1.00 4
L7/HW/82-24 2 No 10.60 4.00 1.50 3
L7/HW/82-7 1 No 11.80 4.00 2.00 4
L7/HW/83-13 2 No 13.65 5.00 2.00 3
L7/HW/83-23 1 No 10.20 5.00 1.00 4
L7/HW/83-26 1 No 12.20 5.00 1.00 4
L7/HW/83-4 2 No 11.30 4.00 2.00 3
L7/HW/83-49 1 No 12.00 5.00 2.00 3
L7/HW/83-6 2 No 11.85 4.00 1.00 4
L7/HW/84-18 2 No 11.85 4.00 2.00 4
L7/HW/84-54 1 No 12.10 4.00 2.00 3
L7/HW/85-16 1 No 15.20 4.00 2.00 4
L7/HW/85-4 3 No 10.75 5.00 1.00 5
finallist =rbind(selfinal_ch[,c(1,4)], selfinal_hb[,c(1,4)],selfinal_TH[,c(1,4)],selfinal_GG[,c(1,3)], selfinal_HW[1,c(1,3)])
finallist$ID2 = as.character(finallist$ID)
finallist = finallist %>% tidyr::separate(ID2 , into = c("lote", "var","arbol"), sep = "/")
finallist = finallist %>% tidyr::separate(arbol , into = c("linea","arbol"), sep = "-")
finallist$linea = as.numeric(finallist$linea)
finallist$arbol = as.numeric(finallist$arbol)

#Dirty trick to CH and HB together
finallist[finallist$var == "HB", "var"] = "D-HB"


finallist$Sexo = "Macho"
finallist[finallist$var == "CH", "Sexo"] = "Hembra (con TH y HW) y Macho (con CA)"


finallist = finallist %>% mutate("Fecha Aproximada Floracion" = "", "Fecha embolsada"= "", "Fecha emasculada"= "",  "Fecha polinizada"= "NA", "Comentarios" = "NA") %>% arrange(var, linea, arbol)

finallist[finallist$Sexo == "Macho", "Fecha emasculada"] = "NA"
finallist[finallist$Sexo == "Macho", "Fecha polinizada"] = "NA"


finallist = finallist[, c(1:2, 7:12)]

write.csv(finallist, "Lista de arboles para cruzar (10-21).csv", row.names= F)