gpt4 book ai didi

r - 定位并合并 data.frame 中的重复行但忽略列顺序

转载 作者:行者123 更新时间:2023-12-04 09:23:16 26 4
gpt4 key购买 nike

我有一个包含 1,000 行和 3 列的 data.frame。它包含大量重复项,我使用 plyr 组合重复的行并为每个组合添加计数,如 this thread 中所述。 .

这是我现在拥有的示例(如果我需要从那里开始,我仍然拥有带有所有重复项的原始 data.frame):

   name1    name2    name3     total
1 Bob Fred Sam 30
2 Bob Joe Frank 20
3 Frank Sam Tom 25
4 Sam Tom Frank 10
5 Fred Bob Sam 15

但是,列顺序无关紧要。我只想知道有多少行以任何顺序具有相同的三个条目。如何组合包含相同条目的行,而忽略顺序?在这个例子中,我想合并第 1 行和第 5 行,以及第 3 行和第 4 行。

最佳答案

对索引列进行排序,然后使用 ddply汇总和求和:

定义数据:

dat <- "   name1    name2    name3     total
1 Bob Fred Sam 30
2 Bob Joe Frank 20
3 Frank Sam Tom 25
4 Sam Tom Frank 10
5 Fred Bob Sam 15"

x <- read.table(text=dat, header=TRUE)

创建副本:
xx <- x

使用 apply对列进行排序,然后聚合:
xx[, -4] <- t(apply(xx[, -4], 1, sort))
library(plyr)
ddply(xx, .(name1, name2, name3), numcolwise(sum))
name1 name2 name3 total
1 Bob Frank Joe 20
2 Bob Fred Sam 45
3 Frank Sam Tom 35

关于r - 定位并合并 data.frame 中的重复行但忽略列顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10958918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com