Diagrammer не может создавать узлы в R

Сейчас у меня R версии 3.2.2 с пакетом DiagrammeR R. Я получаю эти две ошибки при попытке запустить следующий код:

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


person Deividas Kiznis    schedule 07.02.2017    source источник
comment
пожалуйста, запустите packageVersion("DiagrammeR"). API недавно изменился, и если вы используете DiagrammeR 0.9.0, вам нужно будет перейти на create_node_df (я думаю)   -  person Benjamin    schedule 07.02.2017
comment
Я использую версию 0.9.0 и использовал следующую строку кода: nodes<-create_node_df(nodes=seq..., но все еще не работает   -  person Deividas Kiznis    schedule 08.02.2017


Ответы (2)


Приведенный ниже код должен быть совместим с DiagrammeR 0.9.0. Кажется, что график имеет другой вид, чем тот, который сгенерирован в DiagrammeR создает неправильные диаграмма в R. Я не очень много играл с render_graph в 0.9.0, поэтому пока не знаю, как получить более ранний вид.

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)
person Benjamin    schedule 07.02.2017
comment
Это помогло мне больше, чем любой из примеров в документации, большое спасибо - person user5359531; 27.12.2017

Я не очень много играл с render_graph в 0.9.0, поэтому пока не знаю, как получить более ранний вид.

Другой внешний вид исходит от аргумента attr_theme в функции create_graph, для которого установлено значение «по умолчанию». Установка его на NULL возвращает внешний вид, однако это можно дополнительно настроить с помощью функции set_global_graph_attributes, которая для меня работала только в сочетании с magrittr:%>%, как описано здесь: https://stackoverflow.com/a/42676248/6816220

person larnsce    schedule 08.03.2017