菜鸟问题。我正在寻找一种R的简单方法来计算数组(例如
)中匹配的一对值的数量c("A","A","A") # 3 matched pairs
c("A","B","A") # 1 matched pair
c("A","B") # 0 matched pair
等
谢谢
答案 0 :(得分:1)
似乎您想找到所有可能的相同元素对,它们的顺序无关紧要。然后:
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