【问题标题】:How to concatenate columns using group_by and summarize dplyr functions如何使用 group_by 连接列并汇总 dplyr 函数
【发布时间】:2021-06-09 19:14:10
【问题描述】:

我有以下数据集“df1”:

sex codfam class
1 100 1
2 100 2
1 110 1
2 110 4
1 120 4
2 120 5

我使用“group_by”和“summarize”根据“Class”列的最小值对codfam进行分组

df <- df1 %>% 
group_by(codfam) %>%
summarize(fam_class = min(class))

它工作正常并返回如下结果:

codfam class
100 1
110 1
120 4

现在我会得到与函数“summarize”保存在数据集中的每个 codfam 相关的列“sex”的值,如下所示:

sex codfam class
1 100 1
1 110 1
2 120 4

我尝试使用

   df <- df1 %>% 
   group_by(sex, codfam) %>%
   summarize(fam_class = min(class))

但不幸的是它不起作用。

任何帮助或建议将不胜感激,在此先感谢!

【问题讨论】:

  • 根据您的数据,codfam 值为 120,第 4 类显示性别 1
  • 它到底怎么不工作?

标签: r dplyr


【解决方案1】:

我们可以使用slice_min

library(dplyr)
df1 %>% 
  group_by(codfam) %>%
  slice_min(n = 1, order_by = class) %>%
  ungroup

【讨论】:

    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 2021-01-19
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2022-01-12
    • 2021-08-13
    相关资源
    最近更新 更多