gpt4 book ai didi

r - 仅删除一行具有条件的重复行

转载 作者:行者123 更新时间:2023-12-05 00:47:19 25 4
gpt4 key购买 nike

我的数据框比这个大得多。

但我想要的想法是

x = data.frame(
A= c(3, 4, 5, 7,9),
B= c(7, 8, 9, 3,5),
C= c(11, 12, 13, 14,18)
)

我正在考虑第 1 行和第 4 行相同,因为对我来说 (3,7) 和 (7,3) 对是相同的(对 (5,9) 和 (9,5) 也是如此)。根据这个标准,我只想留下一对。

结果应该是这样的:
 x = data.frame(
A= c(3, 4, 5),
B= c(7, 8, 9),
C= c(11, 12, 13)
)

我怎样才能做到这一点?

是否可以使用函数 subset 来做到这一点? ?

最佳答案

library(dplyr)

x <- x %>%
group_by(A, B) %>%
mutate(AB = paste0(min(A, B), max(A, B)))

x[!duplicated(x$AB), -4]

# # A tibble: 3 x 3
# # Groups: A, B [3]
# A B C
# <dbl> <dbl> <dbl>
# 1 3 7 11
# 2 4 8 12
# 3 5 9 13

关于r - 仅删除一行具有条件的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51913418/

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