ggplot2: color de la tira facet_wrap en función de la variable en el conjunto de datos

¿Hay alguna forma de rellenar las tiras de facetas creadas con facet_wrap en función de una variable suministrada con el marco de datos?

Ejemplo de datos:

MYdata <- data.frame(fruit = rep(c("apple", "orange", "plum", "banana", "pear", "grape")), farm = rep(c(0,1,3,6,9,12), each=6), weight = rnorm(36, 10000, 2500), size=rep(c("small", "large")))

Ejemplo de trama:

p1 = ggplot(data = MYdata, aes(x = farm, y = weight)) + geom_jitter(position = position_jitter(width = 0.3), aes(color = factor(farm)), size = 2.5, alpha = 1) + facet_wrap(~fruit)

Sé cómo cambiar el color de fondo de las tiras (por ejemplo, a naranja):

p1 + theme(strip.background = element_rect(fill="orange"))

¿Hay una manera de pasar los valores en la variablesize enMYdata al parámetrofill enelement_rect?

Básicamente, en lugar de 1 color para todas las tiras, me gustaría que el color de fondo de las frutas pequeñas (manzana, ciruela, pera) sea verde y el color de fondo de las frutas grandes (naranja, plátano, uva) sea rojo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta