使用dplyr添加另一个分组

时间:2015-10-29 18:04:34

标签: r dplyr

我想改变数据帧两次,按两组相互交叉的列进行分组。即:

group_by

有更快/更优雅的方式吗?我希望能够做到这样的事情:

url = r"C:\Users\Sony\Desktop\b.html"
page = open(url)

或者在应用第一个k="C:\Users\Sony\Desktop\b.html" url = r k page = open(url) 时保存变量,然后再使用两次。

1 个答案:

答案 0 :(得分:10)

我们在第二个add=TRUE中使用group_by将3个变量分组,在OP的示例中添加c -

 df %>%
   group_by(a, b) %>%
   mutate(x = sum(d)) %>%
   group_by(c, add=TRUE) %>%
   mutate(y = sum(e))

根据?group_by

的文档
  

默认情况下,当add = FALSE时,group_by将覆盖现有组。   要改为添加到现有组,请使用add = TRUE

这可以在一次group_by调用中完成,但仅适用于非dplyrish函数:

 df %>%
   group_by(a, b) %>%
   mutate(x = sum(d), y = ave(e, c, sum))