如何在 R 中合并数据框中的重复行

How to combine duplicate rows in a data frame in R

给定 R 中的数据帧 (my_data),如下所示

category  Keyword1 Keyword2 Keyword3 Keyword4 Keyword5 Keyword6 Keyword7 Keyword8
123         0        1         1       0         0        0       0         1
155         1        0         0       0         1        0       1         1
144         0        0         1       0         0        0       1         1
123         1        1         0       0         0        0       1         1

我想通过获取具有已经存在的类别 ID 值(例如类别 123)的行并将它们组合起来来转换数据框。结果应如下所示:

category Keyword1 Keyword2 Keyword3 Keyword4 Keyword5 Keyword6 Keyword7 Keyword8
123         1        1         1       0         0        0       0         1
155         1        0         0       0         1        0       1         1
144         0        0         1       0         0        0       1         1

我如何在 R 中执行此操作?

您可以使用 dplyr,这对许多其他此类用例很有用,如下所示:

library(dplyr)
my_data %>% group_by(category) %>% summarise_each(funs(max)) 

输出为:

# A tibble: 3 × 9
  category Keyword1 Keyword2 Keyword3 Keyword4 Keyword5 Keyword6 Keyword7 Keyword8
     <int>    <int>    <int>    <int>    <int>    <int>    <int>    <int>    <int>
1      123        1        1        1        0        0        0        1        1
2      144        0        0        1        0        0        0        1        1
3      155        1        0        0        0        1        0        1        1