gpt4 book ai didi

r - R 中的唯一行,考虑两列,无顺序

转载 作者:行者123 更新时间:2023-12-03 01:57:44 25 4
gpt4 key购买 nike

与我发现的问题不同,我想获得没有顺序的两列的唯一性。

我有一个 df:

df<-cbind(c("a","b","c","b"),c("b","d","e","a"))
> df
[,1] [,2]
[1,] "a" "b"
[2,] "b" "d"
[3,] "c" "e"
[4,] "b" "a"

在本例中,第 1 行和第 4 行是“重复项”,因为 b-a 与 b-a 相同。

我知道如何找到第 1 列和第 2 列的唯一值,但在这种方法下我会发现每一行都是唯一的。

最佳答案

如果只有两列,您还可以使用 pminpmax,如下所示:

library(data.table)
unique(as.data.table(df)[, c("V1", "V2") := list(pmin(V1, V2),
pmax(V1, V2))], by = c("V1", "V2"))
# V1 V2
# 1: a b
# 2: b d
# 3: c e

使用“dplyr”的类似方法可能是:

library(dplyr)
data.frame(df, stringsAsFactors = FALSE) %>%
mutate(key = paste0(pmin(X1, X2), pmax(X1, X2), sep = "")) %>%
distinct(key)
# X1 X2 key
# 1 a b ab
# 2 b d bd
# 3 c e ce

关于r - R 中的唯一行,考虑两列,无顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28574006/

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