# boxplot vertical (una variable)
# Se tiene el siguiente vector con datos del peso (gr) de un determinado producto 

peso<- c(131,134,135,138,139,140,140,141,142,142,144,144,
       145,146,147,149,149,150,150,151,152,153,155,155,
       154,156,156,157,159,160,161,163,163,163,166,167)
# sé genera el diagrama con la función boxplot()

 boxplot(peso, 
         col = "lightblue", 
         horizontal= F, 
         ylab="Peso en gramos",
         main= " Diagrama de caja para el peso")

# sí queremos mostrar la media y la desviación  se hace lo siguiente:
# se calcula la media y su desviación para poder graficar el vector :  media +/- SD
# esto permite tener una referencia para trazar la línea en el diagrama de cajas.


media<- mean(peso) ;media  
## [1] 149.9167
desv<- sd(peso); desv
## [1] 9.553982
# con el siguiente código se presenta  la línea  para el intervalo [media +/- DS] en el gráfico


 boxplot(peso, col = "lightblue", horizontal= F, 
             xlab=" ",
             ylab="Peso en gramos",
             main= " Diagrama de caja y media +/- SD")

points(1, media,pch=8,col="blue2")                 # ubicación de la media 

arrows(1.18,media-desv, 1.18, media+desv,
       code=3,length = 0.1, angle = 90,col="red")  #  intervalo : media+/- SD

# de acuerdo a la regla empírica: el 68% de las observaciones (datos) se encuentran
# en el intervalo --> [media -SD , media+SD] ( la barra roja del grafico)
# Así mismo , es posible represantar el boxplot en forma vertical
# haciendo algunos cambias en el código anterior:

 boxplot(peso, 
         col = "bisque2",
         horizontal= T,          # boxplot horizontal
         ylab=" ",
         xlab="Peso en gramos",
         main= " Diagrama de caja y media +/- SD")

points(media,1,pch=8,col="blue2")                 # ubicación de la media 

arrows(media-desv,1.17, media+desv,1.17,     #  intervalo media  +/- SD
       code=3,
       length = 0.1, 
       angle = 90,
       col="red")