R ggplot2 boxplot - variando el ancho del cuadro por una función / valores vectoriales

Tengo un marco de datos con varios valores de grupos, y me gustaría tener un diagrama de caja por categoría (juntos). Quiero tener cada diagrama de caja con un ancho diferente, basado no en el recuento de filas por categoría, sino en una suma de columnas.

Por ejemplo, con el siguiente data.frame:

Data <- data.frame(roadType = sample(c("Ramp", "Primary Street", "Highway"),100,replace=TRUE),
         drivesCount = sample(1:100,100,replace=TRUE),
        happyPercentage=sample(c(0,0.25,0.5,0.75,1),100,replace=TRUE))

Sé que hay una manera de tener un ancho variable según el recuento de filas, como este:

ggplot(Data, aes(x=roadType, y=happyPercentage)) +
  geom_boxplot(varwidth = TRUE, alpha=0.2) +
  theme(legend.position="none") +
  labs(x = "Road Type", y = "Happy People Percent") +
  theme(plot.title = element_text(hjust = 0.5))

Pero quiero tener una trama con un diagrama de caja parahappyPercentage porroadType, con ancho basado en eldrivesCount proporción del tipo de ruta específico del total de unidades de disco.

¿Es eso posible? ¿Cómo puedo hacerlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta