如何找出数据框中的哪些列具有所有唯一值

时间:2017-10-11 18:36:35

标签: r function loops

我正在使用RStudio。我试图形成一个函数,允许我检查我的数据框中的任何列是否有重复。我希望这个函数遍历每一列并输出TRUE或FALSE。到目前为止,我有:

长度(唯一的(electionresults $奥巴马))==暗淡(electionresults)[1]

这适用于单个列。我如何得到它,以便我可以在我的选举结果数据框中的每一列上应用此功能?它是某种循环吗?我不知道奥巴马和[1]要做什么。

1 个答案:

答案 0 :(得分:1)

使用data.table即可

setDT(df)
nrow(df) - df[, lapply(.SD, uniqueN)]

这给出了每列的重复值数。

编辑:MrFlick的解决方案sapply(electionresults, anyDuplicated)更清晰,似乎也快了4倍。