r - 分组数据框 - 分组为 ggplot 中的方面?
问题描述
一些数据
grp_diamonds <- diamonds %>%
group_by(cut) %>%
group_split
grp_diamonds[[1]] %>%
ggplot(aes(x = carat, y = price)) +
geom_point()
但 grp_diamonds 实际上是我group_split()
之前使用的 5 个数据帧的列表。
有没有一种聪明的方法可以自动将组用作构面?
是的,在这个例子中你可以这样做:
diamonds %>%
ggplot(aes(x = carat, y = price)) +
geom_point() +
facet_wrap(vars(cut))
但我想知道是否有一种方法可以根据现有分组自动分面?
解决方案
使用dplyr::groups
anddplyr::vars
和!!!
一个选项是:
library(dplyr)
library(ggplot2)
grp_diamonds <- diamonds %>%
group_by(cut, color)
grp_diamonds %>%
ggplot(aes(x = carat, y = price)) +
geom_point() +
facet_wrap(facets = vars(!!!groups(grp_diamonds)))
推荐阅读
- javascript - 动态添加 javascript 自定义事件并正确触发它们
- javascript - 如何使用 Webcam.js 保存图像?
- ios - 在内联 SwiftUI 中声明多个状态变量
- flutter - 将文本小部件动画化到 Appbar
- heroku - Heroku 如何知道要部署哪个文件?
- javascript - 在两种背景颜色之间切换
- fat-free-framework - Fat Free 框架和 websockets
- apache - 用于条件授权的 Apache 配置
- google-apps-script - 如何使用脚本复制和重命名电子表格?
- msbuild - 如何杀死 Ubuntu 代理上的 VBCSCompiler.exe?