我有一个包含15个因子列的数据框。我需要创建一个新列,该列为给定行(仅针对那些列)中的所有值是否都相同提供真/假二进制值。
我找到了这个策略...
identical(df[['A']],df[['B']])
...但是这会检查整个列,而我需要按行解决。
答案 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