Подсчитать количество совпадающих парных значений в массиве в R - PullRequest
0 голосов
/ 01 ноября 2018

вопрос новичка. Я ищу простой способ в R для подсчета количества совпадающих пар значений в массиве, таких как

c("A","A","A") # 3 matched pairs
c("A","B","A") # 1 matched pair
c("A","B") # 0 matched pair

и т.д.

Спасибо

1 Ответ

0 голосов
/ 01 ноября 2018

Похоже, вы хотите найти все возможные пары идентичных элементов, где их порядок не имеет значения. Тогда:

matchPairs <- function(x) sum(choose(table(x), 2))

matchPairs(c("A", "A", "A"))
# [1] 3
matchPairs(c("A", "B", "A"))
# [1] 1
matchPairs(c("A", "B"))
# [1] 0
matchPairs(c("A", "A", "A", "B"))
# [1] 3
matchPairs(c("A", "A", "A", "B", "B"))
# [1] 4
matchPairs(c("A", "A", "A", "B", "B", "A"))
# [1] 7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...