2017-02-07 22 views
3

我目前擁有R版本3.2.2和DiagrammeR R包。試圖運行下面的代碼時,我得到這兩個錯誤:圖解者不能在R中創建節點

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

Error: could not find function "create_nodes"

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

Error: could not find function "create_edges"

+2

請運行'packageVersion(「製圖」)' 。 API最近發生了變化,如果你使用的是'DiagrammeR' 0.9.0,你需要切換到'create_node_df'(我認爲) – Benjamin

+0

我使用0.9.0版本,並使用代碼行this:'nodes <-create_node_df(nodes = seq ...'但仍然不起作用 –

回答

3

下面的代碼應與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) 
+0

這比文檔中的任何示例都更有幫助,非常感謝 – user5359531

1

I haven't played with render_graph in 0.9.0 very much, so am not yet sure how to get the earlier appearance.

的不同的外觀來自於功能create_graph參數attr_theme,其被設置爲「默認」。將其設置爲NULL提供帶回來的外觀,但是,這可以進一步通過使用功能set_global_graph_attributes,這對我來說只有結合magrittr:%>%如這裏所描述的工作調整: https://stackoverflow.com/a/42676248/6816220