我一生都无法弄清楚如何构造我的数据以在 ggnetwork 中使用。
我有一个单独的程序,可以生成我选择的任何格式的结构化数据。鉴于 ggnetwork 数据可以
- 推断一个节点和另一个节点之间的链接的数据(邻接样式)
- 将属性/值添加到边缘的数据
- 将属性/值添加到节点的数据
我怎样才能导入这些?我们这里一个一个——
邻接数据
这部分我得到了——我只是通过像这样的代码创建一个矩阵
data <- matrix(c(1,0,3,0,5,6,1,2,3), nrow=3)
colnames(data)=rownames(data)=LETTERS[1:3]
net <- network(data, matrix.type="adjacency")
可行的。直截了当。
节点属性
在这里的示例中,我看到了以下代码:
n <- network(rgraph(10, tprob = 0.2), directed = FALSE)
n %v% "family" <- sample(letters[1:3], 10, replace = TRUE)
n %v% "importance" <- sample(1:3, 10, replace = TRUE)
我不知道它做了什么n %v%
,但我希望能够转储node id, attribute val
并将其导入我的节点。
边缘值
同样,在我看到的例子中
e <- network.edgecount(n)
set.edge.attribute(n, "type", sample(letters[24:26], e, replace = TRUE))
set.edge.attribute(n, "day", sample(1:3, e, replace = TRUE))
但我不知道这意味着什么,或者我如何通过将这些数据附加到我的邻接列表来添加它,因为这已经是 1-1 数据映射到边缘。
如何使用它们的 val 为我的边缘导入,并为我的节点 val 导入?