如何在R中的数据框中相互比较行

时间:2019-10-17 17:13:58

标签: r dataframe for-loop nested-loops

我有一个由所有置换生成的数据帧final_matrix,没有替换8

require(tidyverse)
require(gtools)

set.seed(222)

x <- 0:7

totale <- permutations(8,8,0:7, repeats.allowed = F)

final_matrix <- as.data.frame(sample_n(as_tibble(totale), 120, replace = F))

我会确定每一行都是不同的,所以我试图编写一个循环来检查每一行,以便1 vs 2, 1 vs 3... and then 2 vs 3 ...比较功能是:

isTRUE(all.equal(prova%>% slice(#rownumber), prova %>% slice(#rownumber)))

我尝试过的所有嵌套循环均无效,该怎么办?

1 个答案:

答案 0 :(得分:2)

有两种快速的方法来检查matrixdataframe的这种类型的条件。 uniqueduplicated函数逐行地为这些结构工作。因此,您可以使用

检查这种情况
nrow(final_matrix) == nrow(unique(final_matrix))

或更简单地

sum(duplicated(final_matrix)) == 0