df <- data.frame(age=c(10,10,20,20,25,25,25),veg=c(0,1,0,1,1,0,1))
g=ggplot(data=df,aes(x=age,y=veg))
g=g+stat_summary(fun.y=mean,geom="point")
Los puntos reflejan la media de verduras a cada edad, que es lo que esperaba y deseo conservar después de cambiar los límites del eje con el siguiente comando.Al cambiar ylim (límites de eje), los datos de caída quedan fuera del rango. ¿Cómo se puede prevenir esto?
g=g+ylim(0.2,1)
Cambio de límites de eje con el comando anterior desafortunadamente hace que veg == 0 subconjunto para ser bajado de los datos, produciendo
"mensaje de advertencia: omitido 4 filas que contienen valores que faltan (stat_summary)"
Esto es malo porque ahora la trama de datos (stat_summary mean) omite la veg == 0 puntos. ¿Cómo se puede prevenir esto? Simplemente quiero evitar mostrar la parte vacía de la gráfica, la ordenada de 0 a .2, pero no eliminar los datos asociados del cálculo de stat_summary.
esto se pone todo lo presentado en la misma escala, lo cual es bueno, y evita caer los valores fuera de rango, lo cual es bueno, pero ahora las etiquetas del eje y solo muestran el rango que realmente contiene valores, lo cual no me parece deseable. No estoy seguro de cómo hacer que el eje refleje el rango completo de la trama. –
¿Alguien sabe por qué tiene que especificar el sistema de coordenadas para no perder valores? ¿Por qué no tener esto como una configuración predeterminada? El ejemplo aquí probablemente no sea el mejor, pero si tiene barras de error grandes para un par de valores y desea limitar el rango del eje y a un patrón general de mostrar, esta solución funciona perfectamente. Si utilizo ylim() o scale_y_continuous() las barras de error que pasan por el rango no se dibujan en absoluto. – Mikko