如何在 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
给定 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