我有一个数据框,其中包含在许多数据集中找到的元素对。对的顺序无关紧要,它们按字母顺序给出一次,但是第一个实例可能在数据库之间有所不同,如示例中所示。
data <- data.frame(i = c("b","b","b","c"), j = c("c","d","d","a"), +
database = c(1,1,2,3))
我想为它们生成一个分数,以显示每个数据库中包含相同对的实例的比率。
我可以想象这样一个粗略的功能:
# For each database that includes particular i or j, test whether
# they have a connection to another particular element at j or i,
# respectively. Count the number of successes.
# Divide it by:
# Count(number of databases that contain either of the members of the pair in i or j)
我希望从示例数据集(顺序不重要)中得到的结果是:
a c 0.5
b c 0.33
b d 1
我可以看到这个粗略的循环系统是如何工作的,但我很确定有一个更优雅的解决方案,有人能帮忙吗?也许在图形库中有一个特定的功能。谢谢!