我们想要构造一个邻接矩阵(如果A_Number
调用B_Number
,则值为1,否则为0)。
Weight
=两个号码被调用的次数。
输入:
B = matrix(c(1,4,1, 2,4,1, 3,2,1, 4,5,1, 5,2,1),
nrow = 5,
ncol = 3,
byrow = TRUE)
colnames(B) <- c("A_NUMBER", "B_NUMBER", "Weight")
# A_NUMBER B_NUMBER Weight
# [1,] 1 4 1
# [2,] 2 4 1
# [3,] 3 2 1
# [4,] 4 5 1
# [5,] 5 2 1
通缉输出:
我们尝试了以下代码:
p<-as.matrix(dcast(SNA_data, A_NUMBER~B_NUMBER, value.var="W", fill=0))
但是这并没有给出邻接矩阵,因为行的名称与列的名称不同。 有人知道如何制作一个合适的邻接矩阵吗?
答案 0 :(得分:1)
xtabs(Weight ~ A_NUMBER + B_NUMBER,B)
会这样做。如果您还想要零行/列,只需在矩阵中添加一些虚拟行(权重= 0),覆盖A_NUMBER和B_NUMBER可能采用的所有值。