#r #ggplot2 #geom-bar
#r #ggplot2 #geom-bar
Вопрос:
Итак, вот фрейм данных, который я хочу отобразить:
choc.BeanMainContinent average
Africa 3.16
Asia 3.16
North America 3.20
Not Disclosed 2.95
Oceania 3.24
South America 3.19
наименьшее значение равно 2,95, наибольшее — 3,24, и NAS отсутствуют.
ggplot(aveBeanSourceCont, aes(x = choc.BeanMainContinent, y = average)) geom_bar(stat = "Identity") ylim(2.90, 3.30)
Но я все еще получаю сообщение об ошибке «Удалены 6 строк, содержащих пропущенные значения (geom_bar)». Все попадает в диапазон 2.90-3.30 (и я получаю эту ошибку, даже когда расширяю этот диапазон), и значений NA нет. Насколько я понимаю, это были бы две причины этой ошибки, но ни одна из них здесь не присутствует. Что еще может вызвать эту ошибку?
Комментарии:
1. кстати, можно также использовать
geom_col()
, который идентиченgeom_bar(stat = "identity")
Ответ №1:
Концептуально столбчатая диаграмма всегда начинается с 0. Это означает, что установка предела, отличного от нуля, делает его «невозможным значением».
Это также причина, по которой вы можете захотеть рассмотреть другую визуализацию, то есть что-то более подходящее для непрерывной переменной. например, блок-график.
library(ggplot2)
set.seed(42)
foo <- data.frame(x = letters[1:6], y = sample(6))
ggplot(foo, aes(x = x, y = y))
geom_col()
ylim(0.5, 6.5)
#> Warning: Removed 6 rows containing missing values (geom_col).
ggplot(foo, aes(x = x, y = y))
geom_col()
ylim(0, 6.5)
Если вы хотите установить ограничения y для «фокусировки» на определенных областях графика, используйте coord
вместо:
ggplot(foo, aes(x = x, y = y))
geom_col()
coord_cartesian(ylim = c(0.5,6))