检查列是否包含多个值

时间:2016-06-21 18:21:27

标签: r dataframe

我有一个 dataframe ,我只想在某些列中运行一个函数(比如说有11列,我想在4个列中知道这个)多个值(例如,它们不是全部2个)。

是否有任何具体的功能可以找到它或我是否必须循环遍历每一列并检查?

2 个答案:

答案 0 :(得分:2)

我们可以使用sapply循环遍历列,获取每列中的unique元素,检查length是否大于1.它给出了一个逻辑向量,它可以是用于在需要时对数据集进行子集化。

i1 <- sapply(df1, function(x) length(unique(x)) >1)
df1[i1]

或者子集列的另一个选项是filter

Filter(var, df1)

答案 1 :(得分:0)

对于每个列运行length(unique(x))。这将打印唯一列的数量。如果您提供更多信息,则可以将其嵌套到一个函数中,该函数根据length(unique(x))的总和决定是否运行。