rstudio dplyr多列分组
在Rstudio中,我有一个包含4列的数据帧,我需要得到前3列中每一个不同的三元组的列表,按第4列的总和递减排序。例如,使用:rstudio dplyr多列分组,r,dplyr,R,Dplyr,在Rstudio中,我有一个包含4列的数据帧,我需要得到前3列中每一个不同的三元组的列表,按第4列的总和递减排序。例如,使用: A B C 2 D E F 5 A B C 4 G H I 5 D E F 3 因此,我需要: D E F 8 A B C 6 G H I 5 我尝试了以下不同的方法,但无法获得所需的确切结果: df_list<-df_raw_data %>% group_by(param1, param2, param3) %>% summarise_all(t
A B C 2
D E F 5
A B C 4
G H I 5
D E F 3
因此,我需要:
D E F 8
A B C 6
G H I 5
我尝试了以下不同的方法,但无法获得所需的确切结果:
df_list<-df_raw_data %>%
group_by(param1, param2, param3) %>%
summarise_all(total = sum(param4))
arrange(df_list, desc(total))
df_列表%
分组依据(参数1、参数2、参数3)%>%
汇总所有(总计=总和(参数4))
安排(df_列表,描述(总计))
以及:
df_list这就是你想要的吗
df <- data_frame(var1 = c("A", "D", "A", "G", "D"),
var2 = c("B", "E", "B", "H", "E"),
var3 = c("C", "F", "C", "I", "F"),
var4 = c(2, 5, 4, 5, 3))
df %>% group_by(var1, var2, var3) %>%
summarise(sum = sum(var4)) %>%
arrange(desc(sum))
df%分组依据(var1、var2、var3)%>%
总结(总和=总和(变量4))%>%
安排(说明(总和))
我们可以在
处使用分组来选择要分组的列
library(dplyr)
dat2 <- dat %>%
group_by_at(vars(-V4)) %>%
summarise(V4 = sum(V4)) %>%
ungroup()
dat2
# # A tibble: 3 x 4
# V1 V2 V3 V4
# <chr> <chr> <chr> <int>
# 1 A B C 6
# 2 D E F 8
# 3 G H I 5
数据
dat <- read.table(text = "A B C 2
D E F 5
A B C 4
G H I 5
D E F 3",
header = FALSE, stringsAsFactors = FALSE)
dat
dat2 <- dat %>%
group_by_if(is.character) %>%
summarise(V4 = sum(V4)) %>%
ungroup()
dat2
# # A tibble: 3 x 4
# V1 V2 V3 V4
# <chr> <chr> <chr> <int>
# 1 A B C 6
# 2 D E F 8
# 3 G H I 5
dat <- read.table(text = "A B C 2
D E F 5
A B C 4
G H I 5
D E F 3",
header = FALSE, stringsAsFactors = FALSE)