如何将二分网络的关联矩阵转换为单分投影

问题描述 投票:0回答:1

我想将二分投影的关联矩阵转换为单分投影的矩阵。

例如: 我有这个矩阵,其中当元素等于 > 0 时,列与相应的行交互。

int <- matrix(rbinom(48, 2, 0.2),nrow=8,ncol=6)
colnames(int) <- letters[1:6]
rownames(int) <- letters[7:14]

我想生成较高节点(列)的邻接(方阵),其中新元素将是它们与行共享相同交互的次数的总和(gn)。

所以如果我的 int 矩阵是这样的:

  a b c d e f
g 0 0 0 1 1 0
h 1 0 0 1 1 0
i 0 1 0 0 0 0
j 1 0 1 1 1 0
k 1 1 1 0 1 0
l 0 0 1 0 0 0
m 0 0 1 2 0 0
n 1 1 2 1 0 0

我的单方投影结果将是这样的:

  a b c d e f
a 0 2 3
b 2 0 2
c 3.. 0
d         3
e
f

其中ab对与两行(kn)共享交互。 ac对与三行(kkn)共享交互,等等

有什么想法吗?

r matrix network-programming igraph
1个回答
0
投票
`diag<-`(crossprod(df>0), 0)

  a b c d e f
a 0 2 3 3 3 0
b 2 0 2 1 1 0
c 3 2 0 3 2 0
d 3 1 3 0 3 0
e 3 1 2 3 0 0
f 0 0 0 0 0 0
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.