我正在尝试编写代码来比较几个列的值,但我事先不知道我将拥有多少列。数据将如下所示:
X Val1 Val2 Val3 Val4
A 1 1 1 2
B NA 2 2 2
C 3 3 3 3
Run Code Online (Sandbox Code Playgroud)
该代码应为 A 行和 B 行返回“失败”,为 C 行返回“通过”,但需要能够处理不断变化的列数。我不知道如何在不嵌套几个 for 循环的情况下做到这一点,但必须有某种方法使用 apply 或 sapply 来迭代第 2 列: length(df)
编辑:我想看看这些值(将是数字)是否相等
假设第一列被排除在比较之外,并且所有其他列都没有被排除,您可以尝试:
which(rowSums(df[,2]==df[,3:ncol(df)])==(ncol(df)-2))
Run Code Online (Sandbox Code Playgroud)