3

我正在用这个tidygraph包做一些探索性的网络分析。我正在尝试使用ggraph包生成带有我的数据的多面图。我创建了 2 个不同的tbl_graph对象,我使用该bind_graphs函数将它们绑定在一起。

我正在使用的代码是:

# 1) Creating full graph
g.tot.1 <- tbl_graph(nodes = nodes, edges = fdi) %>%
  activate(edges) %>% filter(sector == 'Financial services') %>%
  activate(nodes) %>% filter(!node_is_isolated()) %>%
  activate(edges) %>% mutate(tofrom = ifelse(.N()$name[to] == 'DUB', 1, 2)) 

# 2) creating "to DUB" graph 
g.to.1 <- g.tot.1 %>%
  filter(tofrom == 1) %>%
  activate(nodes) %>% filter(!node_is_isolated()) %>%
  
# 3) Creating "from DUB" graph
g.from.1 <- g.tot.1 %>%
  filter(tofrom == 2) %>%
  activate(nodes) %>% filter(!node_is_isolated()) %>%

# Binding graphs and plotting the result
ggraph(bind_graphs(g.to.1, g.from.1), layout = 'fr') %>%
  facet_edges(~tofrom) + 
  geom_edge_link(arrow = arrow()) +
  #geom_node_point(size = 5, colour = 'steelblue') +
  #geom_node_text(aes(label = iso), colour = 'black', vjust = 0.4) +
  ggtitle('FDI From and To Dubai') +
  theme_graph(foreground = 'steelblue')

尽管有大量警告,但我仍然获得了多面图。但是,尽管filter(!node_is_isolated())在两个子图中都进行了调用,但多面图仍会绘制所有分离株。facet_edges当我避免指定选项时,不会发生这种情况。

任何帮助将不胜感激。

4

0 回答 0