我不能为我的生活弄清楚如何构建我的数据以便在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")
可行的。简单。
在the example here我看到这段代码:
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数据映射到边缘。
如何使用vals导入我的边缘,并为我的节点vals导入?
答案 0 :(得分:0)
假设
(1,0,3,0,5,6,1,2,3)
你的价值是什么,你可以试试这个:
imported_values <- c(1,0,3,0,5,6,1,2,3)
data <- matrix(imported_values, nrow=3)
colnames(data)=rownames(data)=LETTERS[1:3]
net <- network(data, matrix.type="adjacency")
net %v% "importance" <- imported_values
ggplot(net, aes(x = x, y = y, xend = xend, yend = yend)) +
geom_edges() +
geom_nodes(aes(size = importance)) +
theme_blank()