【问题标题】:Creating adjacency matrix from raw data for centrality从原始数据创建邻接矩阵以获得中心性
【发布时间】:2016-09-03 19:09:39
【问题描述】:

跟进我之前的问题,我想使用以下数据创建度中心性。

我尝试在 stackoverflow (how to find degree centrality of nodes in a matrix?) 上复制前面的示例,但遇到了一些挑战。

 a <- c('nancy','bill','bob','badri','bill','kiron','david')
 b <- c('martial-arts','dance','sports','judo','judo','judo','judo')

 df <- data.frame(a, b)

根据这些数据,我需要创建一个邻接矩阵:(其中 u1、u2、u3、u4、u5、u6 代表 nancy、bill、bob、badri 用户以及他们如何通过他们参与的俱乐部进行连接)。有人可以帮忙吗?

我很难从原始数据创建这个邻接矩阵。有人可以就如何进行提出任何想法。

【问题讨论】:

  • 我正在尝试创建一个邻接矩阵,但我的行和列不相等(不是正方形)。我的用户不仅仅是群体。关于如何进行的任何建议?谢谢各位!

标签: r igraph sna


【解决方案1】:

此解决方案来自Solomon Messing:

M <- as.matrix(table(df))
M <- tcrossprod(M)
diag(M) <- 1
M
#        a
# a       badri bill bob david kiron nancy
#   badri     1    1   0     1     1     0
#   bill      1    1   0     1     1     0
#   bob       0    0   1     0     0     0
#   david     1    1   0     1     1     0
#   kiron     1    1   0     1     1     0
#   nancy     0    0   0     0     0     1

有关如何在稀疏矩阵中执行此操作的指导,请参阅完整的帖子。

【讨论】:

    猜你喜欢
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    相关资源
    最近更新 更多