gpt4 book ai didi

r - 如何识别 R 中具有重复值的列的名称

转载 作者:行者123 更新时间:2023-12-02 19:59:04 26 4
gpt4 key购买 nike

数据框包含由重复值组成的列。我们如何识别具有重复值的 colnames 及其计数。

数据集:

A  B  C
1 2 a
2 3 b
3 4 a
1 5 c

我需要这样的输出

具有重复值的列是 A(2) 和 C(2)

我试过 duplicated(),它返回一个向量。

最佳答案

我们可以使用sapply 来按列循环查找重复的 元素并对其进行sum

colSums(sapply(df, function(x) duplicated(x)|duplicated(x, fromLast = TRUE)))

#A B C
#2 0 2

如果您只需要非零列,您可以这样做

vals <- colSums(sapply(df, function(x) 
duplicated(x)|duplicated(x, fromLast = TRUE)))
vals[vals!= 0]
#A C
#2 2

使用 dplyr 我们可以对 summarise_all 做同样的事情

library(dplyr)
df %>%
summarise_all(~sum(duplicated(.) | duplicated(., fromLast = TRUE))) %>%
select_if(~. != 0)

# A C
#1 2 2

关于r - 如何识别 R 中具有重复值的列的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56293315/

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