Я пытаюсь использовать пакет DiagrammeR
для создания графика на основе двух простых фреймов данных, созданных вручную. Результирующий граф должен просто иметь два узла ('a' и 'b') и одно ребро, соединяющее их ('a' -> 'b').
Судя по документации, это должно быть очень легко сделать.
Из документации пакета, начиная с версии 1.0.1, ниже приведены минимальные входные данные для функции create_graph()
:
nodes_df
: необязательный фрейм данных, содержащий, как минимум, столбец
(называется id), который содержит идентификаторы узлов для графа. Дополнительные столбцы
(атрибуты узла) могут быть включены со значениями для именованного узла
атрибут.
edges_df
: необязательный фрейм данных, содержащий как минимум два столбца
(вызывается из и в), где предоставляются идентификаторы узлов. Дополнительные столбцы
(атрибуты ребер) могут быть включены в значения для именованного ребра
приписывать.
На основании этой документации кажется, что по крайней мере одна из следующих двух попыток определить график должна работать:
library(Diagrammer)
options('stringsAsFactors' = FALSE)
# Using integer node IDs
create_graph(nodes_df = data.frame(id = c(1L, 2L)),
edges_df = data.frame(from = 1L, to = 2L))
# Using character node IDs
create_graph(nodes_df = data.frame(id = c('a', 'b')),
edges_df = data.frame(from = 'a', to = 'b'))
Однако при обеих попытках создания графика я получаю следующее сообщение об ошибке:
Error in `[.data.frame`(nodes_df, , i) : undefined columns selected
Почему звонки не работают должным образом? Каков минимальный способ создания намеченного графа путем создания фреймов данных узлов и ребер с использованием только функции data.frame()
, аналогично приведенному здесь примеру?