【发布时间】:2017-02-16 15:18:17
【问题描述】:
我正在尝试使用各种包和方法创建网络地图。
以此为指导,我复制并粘贴了每个步骤
http://minimaxir.com/notebooks/interactive-network/
但是,当我尝试查看情节时,会出现以下错误:
错误:每个变量必须是一维原子向量或列表。 问题变量:'x'、'y'、'xend'、'yend'
很明显,这个错误并没有出现在那个例子中,它对创建者来说很好,但是当我也尝试使用我自己的数据时也会发生这种情况。
没有任何有用的答案 ggnet2 : Error: Each variable must be a 1d atomic vector or list
知道问题可能是什么吗?
我感觉这可能与作为字符的源变量和目标变量有关,但是我不知道它们是否可以转换为数字,我实际上并不希望它们像我想要的名称那样是数字的要显示的出发地和目的地。
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()
【问题讨论】:
-
欢迎来到 Stackoverflow!你能发布一个可以重现错误的最小示例吗?
-
图书馆(dplyr)图书馆(nycflights13)图书馆(igraph)图书馆(sna)图书馆(ggnetwork)df_edges % group_by(起源,目的地)%>%汇总(重量= n( )) 网络
-
谢谢!我将您的代码添加到问题中。它运行对我来说没有任何问题。 i.stack.imgur.com/GW5St.jpg
-
谢谢!我还在同事的 R 上对其进行了测试,并且在她的 R 上运行良好,所以这只是我的问题。你知道它可能是什么或可以做些什么来解决它吗?我使用的是 3.3.2 版本,但我的同事使用的是 3.3.1,如果这有帮助的话
-
尝试按照此处的建议更新您的软件包:r-bloggers.com/update-all-user-installed-r-packages-again
标签: r ggplot2 plotly ggnetwork