несоответствие гистограммы ggplot2

#r #ggplot2

#r #ggplot2

Вопрос:

Я использую Практическое Программирование с помощью R (Grolemund), и я застрял на основной части о гистограммах с использованием ggplot2

Версия R-Studio 1.3.1073 ggplot2 Версия 3.3.5

Код такой:

 x lt;- c(1, 2, 2, 2, 3, 3) qplot(x, binwidth = 1)  

И это выглядит так:

введите описание изображения здесь

Это должно выглядеть так: скриншот из книги, соответствующая гистограмма слева

введите описание изображения здесь

Таким образом, по сути, он центрирует каждую точку данных по-разному. В книге переменная 1 отображается как 1-2, но в моей версии переменная 1 равна 0,5 — 1,5 и так далее.

Кто-нибудь знает, почему они так отличаются и как это исправить в соответствии с тем, что написано в книге, поскольку это больше соответствует тому, как мне нужно обрабатывать данные?

Спасибо!

Комментарии:

1. Привет, Элис. Вероятно, это изменение в ggplot2, которое произошло где-то в прошлом (согласно репозиторию книги на GitHub, последний раз оно обновлялось около трех лет назад). Чтобы воспроизвести рисунок в книге, вы могли бы сделать qplot(x, breaks = 0:4, closed = "left")

2. @стефан — спасибо тебе! это прекрасно работает, и я знаю, что мне нужно больше узнать о различных аргументах ggplot2, однако теперь я хотел бы спросить, как узнать, какие значения следует указывать breaks = в большем наборе данных? С более старым форматом из OP это не нужно было указывать, но с этим исправлением это так.

3. (: Да. Зависит от данных. Для хороших целочисленных векторов, используемых в книге, вы могли бы использовать что-то вроде breaks = seq(min(x) - 1, max(x) 1) . Но это все еще не решение для более общих случаев.