根据不同(未知)值的值对数据框进行分组
group data frame on a value for different (unknown) values
这是示例数据框:
Codes <- c("70", "70", "60", "60", "60", "60", "50")
Locations <- c("a", "a", "a", "b", "b", "b", "b")
df <- data.frame(Cases, Codes, Locations)
我想对每个位置的代码进行分组和汇总。不过,它必须是一个函数,适用于未知数量的位置。结果应该是一个数据框(或两个数据框(每个位置一个)),向我显示 每个位置的每个代码的案例数。
我知道这很简单,只要知道位置。只需过滤每个位置的数据框并使用 "dplyr::group_by" 和 "dplyr::summarize"。但我希望它是一个自动功能,我事先不知道有多少个不同的位置。
我尝试使用函数 dplyr::group_split 来完成它,但是 returns 我无法执行的小标题列表 dplyr::group_by。
这是预期的输出:
Codes Location A Codes Location B
70 2 60 3
60 1 50 1
感谢您提前回答,我很纠结。
我们可以使用 count
然后根据 Location
拆分数据帧以获得数据帧列表。
df_list <- df %>% count(Locations, Codes, sort = TRUE) %>% group_split(Locations)
#[[1]]
# A tibble: 2 x 3
# Locations Codes n
# <chr> <chr> <int>
#1 a 70 2
#2 a 60 1
#[[2]]
# A tibble: 2 x 3
# Locations Codes n
# <chr> <chr> <int>
#1 b 60 3
#2 b 50 1
这是示例数据框:
Codes <- c("70", "70", "60", "60", "60", "60", "50")
Locations <- c("a", "a", "a", "b", "b", "b", "b")
df <- data.frame(Cases, Codes, Locations)
我想对每个位置的代码进行分组和汇总。不过,它必须是一个函数,适用于未知数量的位置。结果应该是一个数据框(或两个数据框(每个位置一个)),向我显示 每个位置的每个代码的案例数。
我知道这很简单,只要知道位置。只需过滤每个位置的数据框并使用 "dplyr::group_by" 和 "dplyr::summarize"。但我希望它是一个自动功能,我事先不知道有多少个不同的位置。
我尝试使用函数 dplyr::group_split 来完成它,但是 returns 我无法执行的小标题列表 dplyr::group_by。
这是预期的输出:
Codes Location A Codes Location B
70 2 60 3
60 1 50 1
感谢您提前回答,我很纠结。
我们可以使用 count
然后根据 Location
拆分数据帧以获得数据帧列表。
df_list <- df %>% count(Locations, Codes, sort = TRUE) %>% group_split(Locations)
#[[1]]
# A tibble: 2 x 3
# Locations Codes n
# <chr> <chr> <int>
#1 a 70 2
#2 a 60 1
#[[2]]
# A tibble: 2 x 3
# Locations Codes n
# <chr> <chr> <int>
#1 b 60 3
#2 b 50 1