Имеет следующий набор данных:
test <- data.frame(name= c("A", "B", "C", "D", "E"), v1 = c(2, 4, 1, 1, 2), v2 = c(3, 4, 2, 1, 5))
name v1 v2
A 2 3
B 4 4
C 1 2
D 1 1
E 2 5
Я хочу проверить концепцию доминирования актера / узла, что означает, что для каждой строки / записи я хочу увидеть, имеет ли она самое высокое значение в наборе данных. Например, B выше, чем A, C и D для v1 и v2. Так что он «доминирует» над всеми остальными рядами. Например, E только выше, чем A, C и D, поэтому он доминирует над этими 3 строками.
Говоря математически, я ищу: i >= j, for v1_i >= v1_j and v2_i >= v2_j.
Организация или сортировка по столбцам не работает, потому что она не показывает, как одна строка будет навязывать другую, поскольку она сортируется сначала по одному столбцу, а затем по другому.
РЕДАКТИРОВАТЬ: просто чтобы добавить пример, конечный результат будет:
B dominates A, C, D
E dominates A, D, C
C dominates D
A dominates C, D
Не имеет значения, как это будет выглядеть. Если это в форме направленной сети / матрицы или таблицы с переменной со всеми буквами.