R:如何检查向量元素是否相同

Adr*_*ian 3 r

> dput(ranks)
structure(c(NA, NA, 2L, 2L, NA, NA, NA, 2L, 1L), .Names = c("LANG1", 
"LANG2", "LANG3", "LANG4", "LANG5", "LANG6", "LANG7", "LANG8", 
"LANG9"))
> ranks
LANG1 LANG2 LANG3 LANG4 LANG5 LANG6 LANG7 LANG8 LANG9 
   NA    NA     2     2    NA    NA    NA     2     1 
Run Code Online (Sandbox Code Playgroud)

我有一个包含 9 个元素的向量,我想检查该向量中的所有元素是否相同。通常我只使用all(ranks == ranks[1]),但在这种情况下,由于第一个元素是NA,我没有得到 TRUE/FALSE 输出。

zer*_*323 9

您可以简单地检查唯一值的数量:

length(unique(ranks)) == 1
Run Code Online (Sandbox Code Playgroud)