Diagrammer无法在R中创建节点

时间:2017-02-07 20:33:31

标签: r diagrammer

我目前拥有带有DiagrammeR R包的R版本3.2.2。尝试运行以下代码时出现这两个错误:

library(DiagrammeR)
nodes <- create_nodes(nodes = seq(uniquenodes), 
                      type = "number", 
                      label = uniquenodes)
  

错误:找不到函数“create_nodes”

edges <- create_edges(from = match(df$col1, uniquenodes), 
                      to = match(df$col2,uniquenodes), 
                      rel = "related")
  

错误:找不到功能“create_edges”

2 个答案:

答案 0 :(得分:6)

以下代码应与DiagrammeR 0.9.0兼容。该图表的外观与DiagrammeR creates "wrong" diagram in R中生成的图表不同。我还没有在0.9.0中使用render_graph,所以我还不确定如何更早地出现。

df <- data.frame(col1 = c("Cat", "Dog", "Bird"),
                 col2 = c("Feline", "Canis", "Avis"),
                 stringsAsFactors = FALSE)
uniquenodes <- unique(c(df$col1, df$col2))

uniquenodes

library(DiagrammeR)

nodes <- create_node_df(n=length(uniquenodes), 
                        type="number", 
                        label=uniquenodes)
edges <- create_edge_df(from=match(df$col1, uniquenodes), 
                        to=match(df$col2, uniquenodes), 
                        rel="related")
g <- create_graph(nodes_df=nodes, 
                  edges_df=edges)
render_graph(g)

答案 1 :(得分:1)

  

我还没有在0.9.0中使用render_graph,所以我还不确定如何获得早期的外观。

不同的外观来自函数attr_theme中的参数create_graph,其设置为&#34;默认&#34;。将其设置为NULL可以恢复外观,但是,可以使用函数set_global_graph_attributes进一步调整,这对我来说只与magrittr:%>%结合使用,如下所述: https://stackoverflow.com/a/42676248/6816220