R Markdown使用方法笔记
看了老大的bilibili视频中R视频最后一讲P33,知道了R Markdown这个东东,也就知道了为什么有时那些看起来颜值颇高的教程贴,就是说在R Markdown上生成的html报表中的图片都是同样大小。最主要的是可以生成包含所有文本、代码和输出的完整报告。
搜索后总结目前能用到的如下:
1.
knitr::opts_chunk$set()
全局设定,“()”
内加入参数就可以对整篇报告进行设置2.如果希望代码用R的大于号提示符开始, 用选项
prompt=TRUE
。 如果希望结果不用井号保护, 使用选项comment=''
。3.
tidy=TRUE
可以自动重新排列代码段, 使得代码段格式更符合规范.4.
collapse=TRUE
:一个代码块的代码、输出通常被分解为多个原样文本块中, 如果一个代码块希望所有的代码、输出都写到同一个原样文本块中, 加选项collapse=TRUE
。5.
child='文件名.Rmd'
可以调入另一个.Rmd文件的内容。如果有多个.Rmd文件依赖于相同的代码,可以用这样的方法。6.
echo = TRUE
同时显示代码块 + 结果。
echo = FALSE
不显示代码块,但显示结果。禁止代码出现在最终报告中,但不会禁止结果。为不想看到 R 代码的人 们编写报告时,就可以使用这个选项。7.
eval=FALSE
, #可以使得代码仅显示而不实际运行。 这样的代码段如果有名字, 可以在后续代码段中被引用。8.
include=FALSE
,可以运行代码,但不会在最终文档中显示代码和结果。如果不想让 setup 代码出现在报告中,就可以使用这个选项。9.
message = FALSE
或warning = FALSE
可以防止消息或警告出现在最终报告中。10.
results = 'hide'
可以隐藏文本输出;fig.show = 'hide'
可以隐藏图形输出。11.
error = TRUE
在代码出现错误时仍然可以生成最终报告。在报告的最终版中,我们很少需要包括出错信息,但在调试 .Rmd 文件时,出错信息是非常有用的。如果使用 R 进行 教学活动,并特意想要包括出错信息的话,这个选项是非常有用的。如果使用默认设置 error = FALSE,那么即使只有一个错误,文档生成也会失败。12.当R Markdown文章比较长,包含的R代码比较多, 或者代码段运行需要比较长时间时,反复编译整篇文章会造成不必要的计算,因为有些代码段并没有修改,依赖的数据也没有改变。 knitr提供了缓存功能, 代码段选项
cache=TRUE
对代码段打开缓存,允许暂存上次运行的结果(包括文本结果和图形)而不需要重复运行代码段。当代码段被修改时,缓存被放弃,编译时重新运行代码段。13.缓存这种功能需要慎重使用,免得错误地使用了旧的结果。当后面的代码段需要使用前面代码段结果时,如果前面结果改了,后面的代码段就不能使用缓存的结果而必须重新计算。 为此, 在后面的代码段中应该加上
dependson=
选项,比如dependson=c('codeA', 'codeB')
,其中codeA和codeB是前面的代码段的标签, 其结果会用在本代码段中。也可以使用代码段选项autodep=TRUE
,knitr
试图自动确定前后代码段之间的依赖关系,每当前面的代码段改变时, 后面的用到其结果代码段也自动重新计算而不使用缓存的旧结果。建议仅对计算一次需要较长时间的代码段使用缓存功能,后面依赖于其结果的代码一定要加上dependson=
选项。因为缓存策略会逐渐变得复杂,所以应该定期使用knitr::clean_cache()
命令清除所有 缓存。14.如果更喜欢用表格来显示数据,那么你可以使用
knitr::kable
函数15.使用 out.width 控制输出图形的大小,并将其设置为行宽的百分比。默认设置为
out.width = "70%"
和fig.align = "center"
。这种设置图形既不会占用过多空间,也不会显得太拥挤。如果想要让所有图形中的字体都保持一致大小,那么只要设置了 out.width,就同时还需要调整 fig.width,使其与默认 out.width 保持同样的比例。例如,如果默认fig.width
为 6,out.width
为 0.7,那么当设置out.width = "50%"
时,你需要同时将fig.width
设置为 4.3(6*0.5/0.7)。
一开始纠结生成的html报告怎么发在简书上呢搜索半天😯,其实将生成的html报表格式复制后,粘贴在简书上即可,还没发现有不一样的地方。亲试过。🙃下面是一张举例子的极简易html报表。
参考:google搜索:R_文档输出_rmarkdown 第一个
【视频讲解】-使用rmarkdown来制作html报表
最后,隆重推荐生信技能树的一系列干货!
- 生信技能树全球公益巡讲:https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
- B站公益74小时生信工程师教学视频合辑:https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
- 招学徒:https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw