## 快捷方式(以下快捷方式适用于Windows 系统)

1. Windows 上插入一个新的代码卡盘:Ctrl + Alt + I

2. 以YAML标头中指定的格式输出文档:Ctrl + Alt + K

3.运行代码块的快捷方式(在执行此操作之前,通常最好重新启动R会话并从干净的环境开始)

3.1 重新启动R会话并从干净的环境开始: Ctrl + Shift + F10

3.2 运行当前块上方的所有块:Ctrl + Alt + P

3.3 运行当前块: Ctrl + Alt + C或Ctrl + Shift + Enter

3.4 运行下一个块;Ctrl + Alt + N

3.5 运行所有块;Ctrl + Alt + R或Ctrl + A + Enter

## 输出文件的格式设置

1. 在R Markdown中添加换行符:要在R Markdown中打断一行并将其显示在输出中,请使用两个尾随空格,然后单击return

2. 在R Markdown中添加空白行:需要在该行输入<br>,空几行添加几个

3. 在R Markdown中查询SQL(https://blog.csdn.net/yuueva/article/details/109116871?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-3&spm=1001.2101.3001.4242)

您可以通过创建{sql}代码块在R Markdown中查询SQL 。

首先,将生成一个内存中的SQL数据库以供本示例使用。您将生成一个著名的“ mtcars”数据集的SQL数据库。这是代码:图

在新的代码块中,编写一个SQL查询以使用四缸引擎从数据库中选择所有汽车。确保将此块的类型更改为{sql}。此命令返回一个数据框,您将另存为mt_cars_df: 图

指定output.var = "mt_cars_df"将查询结果保存到数据框。数据框如下所示:图

您可以在R代码块中使用此数据帧来执行分析或生成ggplot,例如:图

4. 使用块名称:  可以在R Markdown窗口窗格底部包含的代码块导航器中的块之间进行导航

---(r  chunk_name. include=FALSE)

---

## Rmarkdown 文件格式设置函数

1. 设置文档输出格式的属性

---

title: "Habits"

output:

html_document:

toc: ture #是否展示目录

toc_float: true #目录的形式,是否浮动

number_sections: true #各个标题的数字标记是否展示

df_print: paged #表格的形式,paged创建可分页的表

theme: cerulean #文档主题,来源于Bootswatch(https://bootswatch.com/)

highlight: tango #指定语法高亮样式

#css: css/styles.css      # 加入额外的CSS,如果想从自己的css为文档提供所有样式,theme和highlight可设置为null

#fig_width: 7 #图片宽度

#fig_height: 6 #图片高度

#fig_caption: TRUE      #图片设置,控制图形是否带有标题

#code_folding: hide        #是否隐藏代码块

#self_contained: false    #在外部文件中保留依赖关系

#keep_md: true              #是否在knitr处理,pandoc渲染之后保存一份markdown文件的副本

#template: quarterly_report.html  #可以使用模板选项替换基础pandoc模板

---

2. 对整篇报告进行设置

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)。

16. 样例:整个报表设置

knitr::opts_chunk$set(out.width = "70%",fig.align = "center",collapse=TRUE,tidy=TRUE,cache=TRUE)


## 将数据框输出为表格

1.  使用knitr包kable()函数,表格输出结果并不会随着屏幕大小而出现原始表格的情况。

2. kableExtra包美化表格,需配合kable()函数使用

kable_styling()

kable_styling()设定表格整体,它会自动应用bootstrap风格主题。

它的可选参数:

bootstrap_options设定主题。可选值有striped, bordered, hover, condensed,responsive。

full_width设定是否响应屏幕大小。TRUE和FALSE取值。full_width=F,不随着屏幕大小变化而变化。

Position设定屏幕足够大时表格位置。可选值为center, left和right。分别为居中,左偏,右偏。

Font size设定表格内文字大小。

fixed_thead = T时,调整表头以适应屏幕。

表格操作

column_spec()选中列

row_spec()选中行

row_spec(0)选中变量名

这些函数内可以添加各种参数,包括:

bold = T,加深

color 设定表中数据颜色

background设定背景颜色

angle设定角度