> df = data.frame(A = c(1, 2, 3), B = c(3, 2, 2), C = c(3, 2, 1)); df
A B C
1 1 3 3
2 2 2 2
3 3 2 1
> df2 = data.frame(A = c(1, 2, 3), B = c(1, 2, 3), C = c(1, 2, 3)); df2
A B C
1 1 1 1
2 2 2 2
3 3 3 3
我想知道我的data.frame中的所有列是否都相同。对于df
,它应该为FALSE,而对于df2
它应该为TRUE。
您可以检查唯一变量向量的数量是否等于一:
length(unique(as.list(df))) == 1
# [1] FALSE
length(unique(as.list(df2))) == 1
# [1] TRUE
另一种方法是检查每个变量是否与第一个变量相同:
all(sapply(df, identical, df[,1]))
# [1] FALSE
all(sapply(df2, identical, df2[,1]))
# [1] TRUE
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句