gpt4 book ai didi

R:删除跨行和列中的重复值

转载 作者:行者123 更新时间:2023-12-02 05:52:01 25 4
gpt4 key购买 nike

我发现了很多关于在列表中查找重复元素或在数据框中查找重复行的页面。但是,我想在整个数据框中搜索重复的元素。以此为例:

df
coupon1 coupon2 coupon3
1 10 11 12
2 13 16 15
3 16 17 18
4 19 20 21
5 22 23 24
6 25 26 27

您会注意到 df[2,2] 和 df[3,1] 具有相同的元素 (16)。当我运行时

duplicated(df)

它返回六个“FALSE”,因为整行不重复,只有一个元素。如何检查整个数据框中的任何重复值?我想既知道重复项的存在,又想知道它的值(如果有多个重复项,则相同)。

最佳答案

这将找到全局重复项,但它会按列搜索。因此 (3,1) 仍然为 FALSE,因为它是数据框中的第一个值 16

m <- matrix(duplicated(unlist(df)), ncol=ncol(df))
# [,1] [,2] [,3]
#[1,] FALSE FALSE FALSE
#[2,] FALSE TRUE FALSE
#[3,] FALSE FALSE FALSE
#[4,] FALSE FALSE FALSE
#[5,] FALSE FALSE FALSE
#[6,] FALSE FALSE FALSE

然后您可以随意使用它,例如:

df[m]
#[1] 16

关于R:删除跨行和列中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31276490/

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