Dplyr:如何按(全部)分组
正如我在某处看到的,当存在多个group_by()层时,一个SUMMARSE()会剥离一个分组层。在sql中,有“按所有人分组”。我想知道是否有一种方法可以取消dplyr中的所有分组(例如,这样,我们就可以获得所有分组的最大值,而不是每个分组的最大值) 例如:Dplyr:如何按(全部)分组,r,group-by,dplyr,R,Group By,Dplyr,正如我在某处看到的,当存在多个group_by()层时,一个SUMMARSE()会剥离一个分组层。在sql中,有“按所有人分组”。我想知道是否有一种方法可以取消dplyr中的所有分组(例如,这样,我们就可以获得所有分组的最大值,而不是每个分组的最大值) 例如: library(dplyr) library(car) mtcars %>% select(cyl, gear, carb) %>% group_by(cyl, gear) %>% summarise(co
library(dplyr)
library(car)
mtcars %>%
select(cyl, gear, carb) %>%
group_by(cyl, gear) %>%
summarise(count = n()) %>%
arrange(desc(count))
输出:
Source: local data frame [8 x 3]
Groups: cyl
cyl gear count
1 4 4 8
2 4 5 2
3 4 3 1
4 6 4 4
5 6 3 2
6 6 5 1
7 8 3 12
8 8 5 2
因此,数据按(cyl,gear)分组:两层分组。
Summary()计算每个(赛道,档位)组中有多少辆车,然后按(档位)层剥离组。
现在数据是分组依据(cyl)。
如您所见,下降顺序仅适用于每个气缸。(对于气缸==4,第1-3行下降;对于气缸==6,…,第4-6行下降)。
我们怎样才能让8条线都下降?(第7行应为第一行。)
Summary()如何剥离分组的另一个示例:
mtcars %>%
select(cyl, gear, carb) %>%
group_by(cyl, gear) %>%
summarise(count = n())
Output:
Source: local data frame [8 x 3]
Groups: cyl
cyl gear count
1 4 3 1
2 4 4 8
3 4 5 2
4 6 3 2
5 6 4 4
6 6 5 1
7 8 3 12
8 8 5 2
---
mtcars %>%
select(cyl, gear, carb) %>%
group_by(cyl, gear) %>%
summarise(count = n()) %>%
summarise(count1 = max(count))
Output:
Source: local data frame [3 x 2]
cyl count1
1 4 8
2 6 4
3 8 12
---
mtcars %>%
select(cyl, gear, carb) %>%
group_by(cyl, gear) %>%
summarise(count = n()) %>%
summarise(count1 = max(count)) %>%
summarise(max(count1))
Output:
Source: local data frame [1 x 1]
max(count1)
1 12
尝试:
您将获得:
#Source: local data frame [8 x 3]
#
# cyl gear count
#1 8 3 12
#2 4 4 8
#3 6 4 4
#4 4 5 2
#5 6 3 2
#6 8 5 2
#7 4 3 1
#8 6 5 1
您正在查找
解组
?在mtcars%%>%中选择(气缸、档位、碳水化合物)%%>%分组依据(气缸、档位)%%>%汇总(计数=n())%%>%ungroup()%%>%排列(描述(计数))
?另外,您使用fix
的目的是什么?您听说过View
吗?View
仅用于RStudio,没有?OP没有提到RStudio,所以他们可能没有使用它(OP-值得一试,RStudio中的制表符完成是一个巨大的时间节省,这只是它的许多便利之一)@Ben也存在于base Rthanks中!ungroup()就是我要找的。Ops似乎有一些我不知道的R的基础知识。。。谢谢你指出这一点~啊,是的,我现在看到了:
#Source: local data frame [8 x 3]
#
# cyl gear count
#1 8 3 12
#2 4 4 8
#3 6 4 4
#4 4 5 2
#5 6 3 2
#6 8 5 2
#7 4 3 1
#8 6 5 1