我正在尝试使用该DiagrammeR
包创建一个基于手动创建的两个简单数据框的图形。结果图应该只有两个节点('a'和'b')和一个连接它们的边('a' -> 'b')。
根据文档,这似乎应该很容易做到。从 1.0.1 版的包文档中,以下是create_graph()
函数的最小输入:
nodes_df
:一个可选的数据框,至少包含一列(称为 id),其中包含图形的节点 ID。附加列(节点属性)可以包含在命名节点属性的值中。
edges_df
:一个可选的数据框,至少包含两列(称为 from 和 to),其中提供了节点 ID。附加列(边缘属性)可以包含在命名边缘属性的值中。
根据此文档,似乎以下两种定义图的尝试中的至少一种应该有效:
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()
,类似于此处给出的示例?