从原始数据创建邻接矩阵以获得中心性
Creating adjacency matrix from raw data for centrality
根据我之前的问题,我想用以下数据创建度中心性。
我试图在 Whosebug (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 用户以及他们如何通过他们参与的俱乐部联系起来).有人可以帮忙吗?
我很难从原始数据创建邻接矩阵。有人可以就如何进行提出任何想法。
此解决方案来自 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
有关如何在稀疏矩阵中执行此操作的指导,请参阅完整的 post。
根据我之前的问题,我想用以下数据创建度中心性。
我试图在 Whosebug (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 用户以及他们如何通过他们参与的俱乐部联系起来).有人可以帮忙吗?
我很难从原始数据创建邻接矩阵。有人可以就如何进行提出任何想法。
此解决方案来自 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
有关如何在稀疏矩阵中执行此操作的指导,请参阅完整的 post。