我正在尝试使用各种包和方法创建网络地图。
以此为指导,我复制并粘贴了每个步骤
http://minimaxir.com/notebooks/interactive-network/
但是,当我尝试查看绘图时,会出现此错误:
错误:每个变量必须是一维原子向量或列表。问题变量:'x'、'y'、'xend'、'yend'
显然这个错误并没有出现在那个例子中,它对创建者来说很好,但是当我也尝试使用我自己的数据时也会发生这种情况。
这个 ggnet2 没有任何有用的答案:错误:每个变量必须是一维原子向量或列表
知道问题可能是什么吗?
我有一种感觉,这可能与作为字符的源变量和目标变量有关,但是我不知道它们是否可以转换为数字,我实际上并不希望它们像我想要的原产地名称和要显示的目的地。
library(dplyr)
library(nycflights13)
library(igraph)
library(sna)
library(ggnetwork)
df_edges <- flights %>% group_by(origin, dest) %>% summarize(weight = n())
net <- graph.data.frame(df_edges, directed = T)
V(net)$degree <- centralization.degree(net)$res
df_net <- ggnetwork(net, layout = "fruchtermanreingold", weights = "weight", niter = 5000)
ggplot(df_net, aes(x = x, y = y, xend = xend, yend = yend)) + geom_edges(size = 0.4, alpha = 0.25) + geom_nodes(aes(size = degree, text = vertex.names)) + ggtitle("Network Graph of U.S. Flights Outbound from NYC in 2013") + theme_blank()