我试图代表每个步骤的算法输出,经过一番谷歌搜索发现我可以使用DiagrammeR包。我正在看这样的输出

r - R DiagrammeR软件包-路径图的标签是动态的-LMLPHP

上面的代码是这样的-

library('DiagrammeR')
grViz("
  digraph boxes_and_circles {

  # a 'graph' statement
  graph [overlap = true, fontsize = 10]

  # several 'node' statements
  node [shape = box,
  fontname = Helvetica]
  A; B; C; D; E; F, G


  # several 'edge' statements
  A->C B->C C->D D->E E->F
  F->G
  }
  ")


只是我希望将标签A,B等替换为某些变量的值。在DiagrammeR中这可能吗?否则,有人可以建议其他套餐吗。谢谢

最佳答案

希望这可以使方法变得清晰,从本质上讲,我认为您应该动态构建传递给grViz()的函数定义:

library(DiagrammeR)

n <- c("Alpha", "Bravo", "Charlie", "D", "E", "F", "G")

##  Construct your node and edge statements dynamically:
nodes <- paste(n, collapse="; ")

##  Insert parts of edge statements dynamically:
edges <- paste0(
  n[1], "->", n[3], " ",
  n[2], "->", n[3], " ",
  n[3], "->D ",
  "D->E ",
  "E->F ",
  "F->G "
)

##  Plot graph:
grViz(
  paste0(" digraph boxes_and_circles {

    # a 'graph' statement
    graph [overlap = true, fontsize = 10]

    # several 'node' statements
    node [shape = box,
    fontname = Helvetica]
    ", nodes, "
    # several 'edge' statements
    ", edges, "
    }"
  )
)


r - R DiagrammeR软件包-路径图的标签是动态的-LMLPHP

关于r - R DiagrammeR软件包-路径图的标签是动态的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33451753/

10-11 13:59