使用DiagrammeR以编程方式生成Consort图的R代码?

时间:2016-11-16 21:22:04

标签: r graphics graphviz diagrammer

我想以编程方式创建一个描述随机试验中患者流量的Consort图。

是否有人使用DiagrammeR生成此图表(请参阅下面的链接)的R代码?

http://www.consort-statement.org/consort-statement/flow-diagram

1 个答案:

答案 0 :(得分:2)

5年前曾在stackoverflow上问过。答案使用包creating tree diagram for showing case count using R

Google发现了一些graphviz代码: http://blogs.sas.com/content/graphicallyspeaking/2016/10/20/outside-box-consort-diagram/

RStudio可以直接预览Graphviz .dot文件:

https://blog.rstudio.org/2015/05/01/rstudio-v0-99-preview-graphviz-and-diagrammer/

可替换地,

library(DiagrammeR)
consort <- file("consort.dot")
grViz(diagram = consort)
close(consort)

“consort.dot”如下:

digraph g {
start [shape = box, label = "CONSORT Graph"];
node0 [shape = box, label = "All Patients\nN=1000"];
node1 [shape = box, label = "Full Analysis Set\nN=800"];
node2 [shape = box, label = "Excluded\nN=100"];
node3 [shape = box, label = "Not Included\nN=100"];
node4 [shape = box, label = "Safety Set\nN=700"];
node5 [shape = box, label = "Not Dosed\nN=100"];
node6 [shape = box, label = "Treatment A\nN=200"];
node7 [shape = box, label = "Treatment B\nN=150"];
node8 [shape = box, label = "Treatment C\nN=200"];
node9 [shape = box, label = "Treatment D\nN=150"];
start -> node0 -> node1 -> node4 -> {node6 node7 node8 node9};
node0 -> node2;
node0 -> node3;
node1 -> node5;
}