【发布时间】:2021-05-08 00:16:23
【问题描述】:
当从igraph 调用graph_from_adjacency_matrix() 时,我完全没有优势。
library(igraph)
set.seed(42)
# data = read.table("sequences_distancematrix.out", row.names = 1, stringsAsFactors = FALSE, header = TRUE)
data = read.table("https://pastebin.com/raw/UWt56tfh", row.names = 1, stringsAsFactors = FALSE, header = TRUE)
dismat = data.matrix(data)
# build the graph object
network <- graph_from_adjacency_matrix(dismat, mode = "undirected")
但是在检查网络时没有边缘:
> print_all (network)
IGRAPH f4f6666 UN-- 46 0 --
+ attr: name (v/c)
我虽然可能是因为 igraph 不接受低于 0 的双精度数,所以 x10 矩阵中的所有内容都得到相同的结果
距离矩阵:https://pastebin.com/UWt56tfh
任何帮助将不胜感激。
【问题讨论】:
-
看来你需要
weighted=TRUE,或者使用graph_from_adjacency_matrix(dismat > 0, ...),这很令人惊讶,虽然我已经有一段时间没有阅读帮助?graph_from_adjacency_matrix -
我使用距离矩阵也有关系吗?
-
因为它是一个距离矩阵,您可能需要一个加权图
-
我 认为 相关位可能是“如果它为 NULL,则创建一个未加权图,并且邻接矩阵的元素给出了顶点。" .如果您的 r 权重
-
这似乎合乎逻辑。我现在越来越边缘化,因此将过滤以仅显示超过一定距离的那些。