Установка «binwidth» в гистограмме ggplot с помощью значений POSIXct / datetime (geom_histogram) - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь понять поведение binwith в geom_histogram() при работе со значениями POSIXct / datetime. В документации говорится, что binwith указывает ширину бункеров , которую можно указать как числовое значение и что ширина бина переменной даты - количество дней в каждом времени . Таким образом, я ожидаю, что следующие две команды ggplot приведут к одинаковому результату.

Мало того, что это не так, вторая команда занимает около 5 минут для запуска

library(ggplot2)

df <- data.frame(day = as.POSIXct("2018-11-01 10:00:00")+(1:10)*3600*24)


ggplot(df,aes(day)) + 
  geom_histogram(bins = 10,colour = "black",fill = "grey")

ggplot(df,aes(day)) + 
  geom_histogram(binwidth = 1,colour = "black",fill = "grey")

Создано в 2018-11-04 пакетом Представ (v0.2.0).

1 Ответ

0 голосов
/ 04 ноября 2018

У меня был опыт работы с резиновой уткой, и я обнаружил, что с датой в документации имеется в виду вектор класса Date. Поведение binwidth с классом POSIXct описано в следующем предложении: ширина ячейки временной переменной - это число секунд .

Короче говоря, решение умножает binwidth на 3600*24, чтобы получить дни вместо секунд.

ggplot(df,aes(day)) + 
  geom_histogram(binwidth = 1*3600*24,colour = "black",fill = "grey")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...