我有一个数据集,我想要 group_by() 并为每个组生成一个直方图。我目前的代码如下:df %>% group_by(x2) %>% with(hist(x3,breaks = 50))然而,这会生成整个 x3 的单个直方图,而不是几个 x3 块,这里是一些示例数据df = data.frame(x1 = rep(c(1998,1999,2000),9), x2 = rep(c(1,1,1,2,2,2,3,3,3),3), x3 = rnorm(27,.5))所需的输出: 实际输出: 最佳答案 我想我对 do 的评论已经过时了。 ?do 指向我们当前的 ?group_walk :df %>% group_by(x2) %>% group_walk(~ hist(.x$x3))在 dplyr group_walk ,因此您可以使用 do :df %>% group_by(x2) %>% do(h = hist(.$x3))假设您只想要 hist(打印的直方图)的副作用,而不是返回的值,您可以在链的末尾添加一个 %>% invisible() 来不打印生成的 tibble。关于r - 从 dplyr 管道生成直方图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54950199/
10-12 20:54