Here, we’ll provide a brief discussion how flowdiagramr differs from and can interact with other packages. If you know of other similar packages, please let us know!


The diagram package is - as far as we are aware - most similar to flowdiagramr. The largest difference is that flowdiagramr uses ggplot2 as the graphing engine, rather than base R. Thus, flowdiagramr is in some sense the “ggplot2 version” of diagram. In addition, the way flowdiagramr is structured means that you can start creating your diagrams with the package commands, then switch to manual edits by adding ggplot2 code if needed. This is not easily possible with diagram.


The DiagrammeR package is the most flexible diagramming package available for R. However, it is primarily for acyclic diagrams (no feedback or interaction terms) and it requires specifying models in non-R syntax (DOT language). It also requires knowledge of Graphviz and is not quite ggplot2 compatible. We considered using DiagrammeR to get the diagrams we wanted, but the fact that a lot of models have feedback loops, which are not easily supported by DiagrammeR made us decide that we couldn’t use it and had to create a new package.


There are other packages available that can draw graphs, e.g. dagitty for directed acyclic graphs or igraph for network graphs. We are not aware of any package that can easly create the kind of flow diagrams that flowdiagramr is intended to produce (otherwise we wouldn’t have written the package).