我有一个如下所示的数据集:
col1 | col2 | col3
A | yellow | ID1
B | yellow | ID1
A | red | ID2
C | blue | ID2我想要的是一个矩阵,在这个矩阵中,我可以看到A和B,A和C等等之间有多少ID是相同的。
| A | B | C
A | -- | 1 | 1
B | 1 | -- | 0
C | 1 | 0 | --类似于上面的内容。我认为这个结构有一个合适的名字,但我找不到它。我正在寻找一个使用Excel (首选)或R的解决方案。最简单的方法是什么?
下面的问题是,我如何知道哪些ID是共同的?
发布于 2017-10-26 18:39:22
你可以这样做:
m <- df[,-2]
m <- table(m)
m <- m %*% t(m)
diag(m) <- NA
# col1
# col1 A B C
# A NA 1 1
# B 1 NA 0
# C 1 0 NA要搜索的关键字可能是关联矩阵、二分网络/附属网络、双模网络到单模网络和邻接矩阵。
使用的数据:
df<-read.table(header=T,sep="|",text="col1|col2|col3
A|yellow|ID1
B|yellow|ID1
A|red|ID2
C|blue|ID2")https://stackoverflow.com/questions/46951821
复制相似问题