作者:Anisa Dhana
原文链接:
https://datascienceplus.com/how-to-build-a-simple-flowchart-with-r-diagrammer-package/

自从我学会了Markdown并且在RStudio使用R notebook生成高质量的PDF报告,我希望不再使用Microsoft Office。事实上,通过R Markdown,我可以完成所有事情,除非我需要制作流程图。流程图是一种代表工作流程的图。在医药研究中,流程图用来展现研究人群以及被排除的群体。
经过一些研究,我发现R有一些程序包允许制作示例流程图。我找到的一个相对容易使用的是DiagrammeR。该程序包的优点是在R Markdown句法中使用代码可以生成图。

下载程序包:

library(DiagrammeR)

让我们通过一个简单的例子开始,并且使用相应的代码。

library(DiagrammeR)grViz("digraph flowchart {      # node definitions with substituted label text      node [fontname = Helvetica, shape = rectangle]              tab1 [label = '@@1']      tab2 [label = '@@2']      tab3 [label = '@@3']      tab4 [label = '@@4']      tab5 [label = '@@5']

      # edge definitions with the node IDs      tab1 -> tab2 -> tab3 -> tab4 -> tab5;      }

      [1]: 'Questionnaire sent to n=1000 participants'      [2]: 'Participants responded to questionnaire n=850'      [3]: 'Participants came to clinic for evaluation n=700'      [4]: 'Participants eligible for the study n=600'      [5]: 'Study sample n=600'      ")

node指向图的样式并包括字体和形状。该例子中,我选择了长方形,但我可以选择方形或菱形。接着,我在图上设置了我需要的节点(比如,tab1,tab2,…,tab5)。然后,我调整次序,最后,我在每个节点输入内容。呈现的图是直的。
另一个例子展现在下方:

grViz("digraph flowchart {      # node definitions with substituted label text      node [fontname = Helvetica, shape = rectangle]              tab1 [label = '@@1']      tab2 [label = '@@2']      tab3 [label = '@@3']      tab4 [label = '@@4']      tab5 [label = '@@5']

      # edge definitions with the node IDs      tab1 -> tab2;      tab2 -> tab3;      tab2 -> tab4 -> tab5      }

      [1]: 'Questionnaire sent to n=1000 participants'      [2]: 'Participants came to clinic for evaluation n=700'      [3]: 'Participants non-eligible for the study n=100'      [4]: 'Participants eligible for the study n=600'      [5]: 'Study sample n=600'      ")

前一个例子的区别是node2后面紧跟着其它两个节点。看看代码tab2->tab3以及tab2->tab4->tab5。我还可以进行无限种结合,构建更加复杂多样的流程图。
我发现这个程序包的一个缺点是我不能建立PDF的notebook,但对于HTML还是挺好的。如果有人知道如何把它呈现在PDF上,分享在这里,那将是非常棒的。想要学习更多的DiagrammeR,可以点击这个链接。

——————————————

往期精彩:

  • 画ROC曲线的R包总结

  • 春天:谁是最得意的诗人?

  • 通过Shiny app实现疫苗预防疾病的过程

  • R语言中文社区2018年终文章整理(作者篇)

  • R语言中文社区2018年终文章整理(类型篇)

如何通过R建立流程图:DiagrammeR相关推荐

  1. R数据分析:用R建立预测模型

    预测模型在各个领域都越来越火,今天的分享和之前的临床预测模型背景上有些不同,但方法思路上都是一样的,多了解各个领域的方法应用,视野才不会被局限. 今天试图再用一个实例给到大家一个统一的预测模型的做法框 ...

  2. 用R建立岭回归和lasso回归

    1 分别使用岭回归和Lasso解决薛毅书第279页例6.10的回归问题 例6.10的问题如下: 输入例题中的数据,生成数据集,并做简单线性回归,查看效果 cement <- data.frame ...

  3. r语言svr模型_使用R语言建立一个决策树回归模型

    决策树是一种简单但使用广泛的分类算法,根据目标变量的类型,决策树分为分类决策树(目标变量为因子型)与回归决策树(目标变量为连续数值型).在这里,我们使用R建议一个回归决策树模型. 决策树简单介绍 对于 ...

  4. linux转为root用户_[R] 展示linux文件树 - collapsibleTree

    效果如下 数据可视化 - linux treehttps://www.zhihu.com/video/1091763629531254784 scatterlist list_for_each_ent ...

  5. r语言清除变量_R语言(1)初识与数据结构

    点击上方蓝字,记得关注我们! a picture is worth a thousand words! 一,R语言简介 1,R语言的发展 上世纪90年代初,新西兰奥克兰大学 Ross Ihaka 和 ...

  6. postgreSQL源码分析——索引的建立与使用——各种索引类型的管理和操作(2)

    2021SC@SDUSC 目录 上层操作函数 index_open index_beginscan() index_create() indexcmd.c 下层接口函数 IndexScanDescDa ...

  7. emmx用xmind打开_XMind 里流程图的正确打开方式

    有表贝问:你们 XMind 能画流程图吗? 还有表贝说:XMind 没法画流程图吧! 我:...... 作为一个专业的思维导图工具,流程图当然是很重要的功能之一啦.只是大家看来还没有掌握正确的打开方式 ...

  8. 单链表的基本操作----------头插法/尾插法建立链表

    头插法 步骤: 1.在内存中找开辟一个空间,作为链表的头节点,将头结点滞空. 具体代码: L = (LinkList)malloc(sizeof(ND)); L -> next = NULL; ...

  9. rp软件app流程图_AxureRP介绍–架构图和流程图

    1.绘制架构图 每一个网站的规划,少不了要绘制树状的网站架构,架构图能够以可视化的方式呈现网页层级.在Axure RP的站点地图面板定义好网站结构,只要点击一下就可以转成树状架构图.开启一个空白页面, ...

  10. R语言 用nnet实现人工神经网络

    关注微信公共号:小程在线 关注CSDN博客:程志伟的博客 R版本:3.6.1 nnet包:用于创建人工神经网络 nnet函数:用于人工神经网络的建立 > setwd('G:\\R语言\\大三下半 ...

最新文章

  1. tar: Cowardly refusing to create an empty archive 问题
  2. uniapp中遮罩穿透问题
  3. 用通俗易懂的大白话讲解Map/Reduce原理
  4. win10怎么把c盘锁住_win10如何给c盘分区
  5. win8硬盘安装Ubuntu14.04双系统參考教程
  6. .net core 下使用StackExchange的Redis库访问超时解决
  7. 点到点链路上的OSPF协议
  8. 破除“论文至上”!两部委发文规范SCI指标使用
  9. openjudge7624:山区建小学
  10. V-rep学习笔记:机器人逆运动学数值解法(Damped Least Squares / Levenberg-Marquardt Method)...
  11. 论文笔记_S2D.09-2018-ECCV_从RGB和稀疏感知估计深度
  12. 【系列二之图像处理系列】波形处理(3)
  13. pfc颗粒linux安装包,离散元颗粒流软件(PFC3D/PFC2D)
  14. Windows 10开机Windows聚焦壁纸不更新解决方法
  15. 手机html页面图片不显示,是什么原因?HTML插入图片显示不出来?
  16. threw ‘java.lang.NullPointerException‘ exception // toString()
  17. 我要你觉得,我不要我觉得--根据企业现状实施DevOps
  18. Antd Vue 表单生成快速开发指南,内附强大的表单设计器
  19. 盘后复盘 20160622
  20. 外星人Alienware 17R4基本上可完美黑苹果10.13.6

热门文章

  1. 《深入理解Java虚拟机》读书总结
  2. 移动存储设备数据卡和闪存盘等半导体存储式设备,数据消失被格式化,如何拯救恢复?
  3. 支付宝报错:missing-signature 未设置签名参数
  4. 我设计了一个支撑数亿用户的系统
  5. 某程序员的薪水变化数据
  6. 内卷严重?给程序员的几条建议
  7. Redis 经典 必问21问,BAT面试都会问,你会回答吗?
  8. 不用找了,基于 Redis 的分布式锁实战来了
  9. 从技术转管理,我做了什么来拯救自己?
  10. python入门到熟练要多久_python_入门到熟练_day02