我试图得到图中带权边的矩阵的加权度分布和未加权度分布。我使用了graph.adjacency函数,例如
newMatrix<-graph.adjacency(matrix, weighted=NULL, mode="undirected", diag=FALSE) 但是加权论证并没有给出我所期望的结果。例如,对于具有下列值的3x3矩阵:
[,1][,2][,3]
[1,] 1 2 2
[2,] 2 2 0
[3,] 2 0 3对于参数weighted=NULL和diag=FALSE,我希望得到一个邻接矩阵,例如:
[,1][,2][,3]
[1,] . 1 1
[2,] 1 . .
[3,] 1 . .因此,未加权边向量的度分布将是度(2,1,1)。尽管如此,该函数仍返回一个加权矩阵。返回的邻接矩阵为:
[,1][,2][,3]
[1,] . 2 2
[2,] 2 . .
[3,] 2 . .我已经尝试将加权参数更改为TRUE,将de模式更改为min,max...但是结果总是给我返回一个加权矩阵。
发布于 2013-10-29 02:29:13
当为weight=NULL和mode=undirected时,graph.adjacency将(对称)邻接矩阵的i,j项解释为i,j之间的边数。可以通过更改mode参数来更改这种解释(请参见文档)。
要仅对每条边计数一次(这似乎是您想要执行的操作),只需重新缩放输入矩阵即可
m <- matrix(c(1,2,2,2,2,0,2,0,3),nrow=3,ncol=3,byrow=TRUE)
mscaled <-ifelse(m>=1,1,0)
newMatrix<-graph.adjacency(mscaled, weighted=NULL, mode="undirected", diag=FALSE) https://stackoverflow.com/questions/19639963
复制相似问题