Изменение ylim (пределы оси) снижает данные, выходящие за пределы диапазона. Как это можно предотвратить?
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")
Точки отражают среднее значение veg в каждом возрасте, что я ожидал и хочу сохранить после изменения границ оси с помощью приведенной ниже команды.
g=g+ylim(0.2,1)
Изменение границ оси с помощью указанной выше команды, к сожалению, приводит к отключению подмножества veg == 0 из данных, что дает
"Предупреждающее сообщение: Удалено 4 строки, содержащие отсутствующие значения (stat_summary)"
Это плохо, потому что теперь график данных (stat_summary mean) опускает veg == 0 баллов. Как это можно предотвратить? Я просто хочу не показывать пустую часть графика - ординату от 0 до .2, но не отбрасывать связанные данные из вычисления stat_summary.
Ответы
Ответ 1
вы можете это сделать, указав систему координат:
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")
g+coord_cartesian(ylim=c(0.2,1)) #do not use +ylim() here