分箱连续变量然后用 ggplot 将其可视化不会重现教科书中的示例?

Binning continuous variable then visualizing it with ggplot does not reproduce example in textbook?

给定 "diamonds" dataset 在 tidyverse 中, 并根据 "R for Data Science":

中的 ch.7 进行过滤

smaller <- diamonds %>% filter(carat < 3),

我期待

ggplot(data = smaller, mapping = aes(x = carat, y = price)) + 
+   geom_boxplot(mapping = aes(group = cut_width(carat, 0.1)))

到return price vs carat (binned), 而是看到这个 returned.

这是为什么?是因为ggplot2改版了,还是别的什么原因?

是的。随着 ggplot2 3.3.0 的发布,引入了双向几何和统计数据,这也导致了 方向确定 ggplot2。参见 here

因此,您必须添加 orientation=x 才能从 R4DS 获取绘图:

library(ggplot2)
library(dplyr)

smaller <- diamonds %>% filter(carat < 3)

ggplot(data = smaller, mapping = aes(x = carat, y = price)) + 
  geom_boxplot(mapping = aes(group = cut_width(carat, 0.1)), orientation = "x")

reprex package (v0.3.0)

于 2020-04-13 创建