Как сравнить строки друг с другом в кадре данных в R - PullRequest
1 голос
/ 17 октября 2019

У меня есть фрейм данных 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 Ответ

2 голосов
/ 17 октября 2019

Есть два быстрых способа проверить этот тип условия для matrix или dataframe. Функции unique и duplicated работают для этих структур построчно. Таким образом, вы можете проверить это условие с помощью

nrow(final_matrix) == nrow(unique(final_matrix))

или, что еще проще,

sum(duplicated(final_matrix)) == 0
...