我正在尝试使用DiagrammeR
包根据手动创建的两个简单数据框创建图形。生成的图应该只包含两个节点(“ a”和“ b”),以及一个连接它们的边(“ a”->“ b”)。
根据文档,这似乎应该很容易做到。
从1.0.1版开始的软件包文档中,以下是create_graph()
函数的最少输入量:
nodes_df
:可选数据帧,至少包含一列 (称为ID),其中包含该图的节点ID。附加栏 (节点属性)可以包含在命名节点的值中 属性。
edges_df
:一个可选数据框,至少包含两列 (称为“往返”)提供节点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()
函数通过创建节点和边缘数据帧来创建预期图形的最小方法是什么?
答案 0 :(得分:0)
我不确定我是否对您的问题足够了解,但是,我认为使用master
和create_node_df
而不是使用crete_edge_df
函数可能更好。我在使用此软件包时给了您一个示例:
data.frame
干杯。