Возвращаемые значения ggplot2

Документация для функции ggplot2 stat_bin гласит, что она возвращает новый кадр данных с дополнительными столбцами. Как можно получить доступ к этому кадру данных?

Возможно ли это?

simple <- data.frame(x = rep(1:10, each = 2))
tmp <- stat_bin(data=simple, binwidth=0.1, aes(x))

Я понял, что tmp - это среда, а ls(tmp) покажет, какие объекты находятся в среде, но после изучения каждого из этих объектов я не вижу ничего похожего на то, что описано как возвращаемое значение.

Ответ 1

Как упоминает Лучано Селцер, вычисления, которые производят таблицу, показанную ниже, не выполняются до времени печати. (Взгляд на ggplot2:::print.ggplot() покажет, что в своей последней строке он невидимо отображает таблицу, поэтому его можно захватить назначением для дальнейшего изучения.)

tmp <- ggplot(data=simple) + stat_bin(aes(x), binwidth=0.1)
x <- print(tmp)
head(x[["data"]][[1]])
#   y count    x ndensity ncount density PANEL group ymin ymax xmin xmax
# 1 0     0 0.95        0      0       0     1     1    0    0  0.9  1.0
# 2 2     2 1.05        1      1       1     1     1    0    2  1.0  1.1
# 3 0     0 1.15        0      0       0     1     1    0    0  1.1  1.2
# 4 0     0 1.25        0      0       0     1     1    0    0  1.2  1.3
# 5 0     0 1.35        0      0       0     1     1    0    0  1.3  1.4
# 6 0     0 1.45        0      0       0     1     1    0    0  1.4  1.5