在数据框中的多个列中检查相同的值

时间:2018-09-19 23:39:02

标签: r

我有一个包含15个因子列的数据框。我需要创建一个新列,该列为给定行(仅针对那些列)中的所有值是否都相同提供真/假二进制值。

我找到了这个策略...

identical(df[['A']],df[['B']])

...但是这会检查整个列,而我需要按行解决。

1 个答案:

答案 0 :(得分:2)

使用如图所示的DF进行测试,将unique应用于每一行,并针对每一行检查结果的长度是否为1

DF <- data.frame(A = 1:3, B = c(1:2, 1), C = 1)
transform(DF, same = apply(DF, 1, function(x) length(unique(x)) == 1))

给予:

  A B C  same
1 1 1 1  TRUE
2 2 2 1 FALSE
3 3 1 1 FALSE
相关问题