В настоящее время я могу создать такой сюжет:
ggplot(df.Acc, aes(x = reorder(cities, -accidents), y = accidents)) +
geom_bar(stat = "identity", fill="steelblue", alpha=0.75) +
geom_hline(yintercept=0, size=0.4, color="black")
Это график с, скажем, количеством велосипедных аварий в год по оси Y, а название города будет по оси X.
Я хочу добавить вертикальную линию, чтобы разделить все города выше 70-го процентиля и ниже него.
Итак, я пробовал с
> vlinAcc <- quantile(df.Cities$accidents, .70)
> vlinAcc
70%
41.26589
Выглядит неплохо, все города с уровнем аварийности выше 41 находятся выше 70-го процентиля.
Однако я не знаю, как добавить это к диаграмме. Я пробовал:
+ geom_vline(xintercept=vlinAcc, size=0.4, color="black")
Но тогда, конечно, вертикальная линия пересекает точку x в 41-м городе, а не там, где значение y равно 41,265. Этого я не хочу. Как мне расположить линию так, чтобы она соответствовала городу, имеющему значение 70-го процентиля, вместо того, чтобы создавать вертикальную линию в неправильном месте?
Мой фрейм данных содержит один столбец со значениями для аварий, а города заданы как имена строк, которые я продублировал в новый столбец, чтобы их можно было использовать в качестве меток на оси x.