Rmarkdown第三弹

您所在的位置:网站首页 r语言怎么显示图表 Rmarkdown第三弹

Rmarkdown第三弹

2023-07-22 23:37| 来源: 网络整理| 查看: 265

代码输出 1. 行内代码 `r sin(pi/2)`

有趣的案例:

1)自动更新日期

date: "`r Sys.Date()`" date: "`r format(Sys.time(), '%d %B, %Y')`" date: "Last compiled on `r format(Sys.time(), '%d %B, %Y')`"

具体细节可参考:https://bookdown.org/yihui/rmarkdown-cookbook/update-date.html

2)文本结合代码

这里一共有`r sum(x)`个人。 2. 代码块

在这里插入图片描述

R代码块一般通过{R}来插入,插入代码段的快捷键:win[Ctrl+Alt+I] / mac[option + cmd + I]。Rstudio其他快捷键可见Rstudio常用快捷键以及窗口操作有用技巧,Rstudio界面介绍可见:Rstudio界面介绍(上),Rstudio界面介绍(下)。

默认情况下代码和结果会在输出文件中呈现。如果通过参数来控制代码块运行结果的输出情况可以在{r }中设置。一般包括代码及运行结果的输出、图片表格格式定义等。关于代码段选项,详见https://yihui.name/knitr/options。

这里小编给出一些常用的选项,文字版本较难理解的话,请配合我的b站视频教程。

eval和include选项

加选项eval=FALSE, 可以使得代码仅显示而不实际运行。 这样的代码段如果有标签, 可以在后续代码段中被引用。

加选项include=FALSE, 则本代码段仅运行, 但是代码和结果都不写入到生成的文档中。

echo选项 echo参数控制了markdown是否显示代码块。若echo=TRUE,则表示代码块显示在markdown文档显示代码块;反之,代码块不出现在输出结果中。

​```{r echo=FALSE} print(1:5) ​```

结果为:

## [1] 1 2 3 4 5 collapse选项 一个代码块的代码、输出通常被分解为多个原样文本块中, 如果一个代码块希望所有的代码、输出都写到同一个原样文本块中, 加选项collapse=TRUE。 例如: ​```{r collapse=TRUE} sin(pi/2) cos(pi/2) ​```

结果为:

sin(pi/2) ## [1] 1 cos(pi/2) ## [1] 6.123032e-17

代码和结果都在一个原样文本块中。

prompt和comment选项

prompt=TRUE 代码用R的大于号提示符开始。如果希望结果不用井号保护, 使用选项comment=''。

​```{r prompt=TRUE, comment=''} sum(1:5) ​```

结果为:

> sum(1:5) [1] 15 results选项

用选项results=选择文本型结果的类型。 取值有:

markup, 这是缺省选项, 会把文本型结果变成HTML的原样文本格式。hide, 运行了代码后不显示运行结果。hold, 一个代码块所有的代码都显示完, 才显示所有的结果。asis, 文本型输出直接进入到HTML文件中, 这需要R代码直接生成HTML标签, knitr包的kable()函数可以把数据框转换为HTML代码的表格。

例如:results='hold'的示例:

​```{r collapse=TRUE, results='hold'} sin(pi/2) cos(pi/2) ​```

结果为:

sin(pi/2) cos(pi/2) ## [1] 1 ## [1] 6.123032e-17 错误信息选项

选项warning=FALSE使得代码段的警告信息不进入编译结果, 而是在控制台(console)中显示。 有一些扩展包的载入警告可以用这种办法屏蔽。

选项error=FALSE可以使得错误信息不进入编译结果, 而是出错停止并将错误信息在控制台中显示。

选项message=FALSE可以使得message级别的信息不进入编译结果, 而是在控制台中显示。

当然还有关于图片的设置,这个我们放到下面来说

当然你也可以通过Rstudio界面进行部分参数的设置(更加便捷):

具体演示可见[b站]视频。

全局设置

若markdown内的代码块存在一样的参数设置,则可以提前设计好全局的代码块参数。全局代码块通过knitr::opts_chunk$set函数进行设置,一般设置在YAML文件下方,具体见下图。 在这里插入图片描述

图片输出 1.插入R代码生成的图形 ​```{r, fig.height = 8,fig.with = 6} plot(1:10) ​```

fig.show :设置了图片输出方式

fig.show=‘asis’:表示plot在产生他们的代码后面

fig.show=‘hold’:所有代码产生的图片都放在一个完整的代码块之后

fig.show=‘animate’:表示将所有生成的图片合成一个动画图片

可以参考:https://bookdown.org/yihui/rmarkdown-cookbook/animation.html

fig.show=‘hide’:表示产生所有图片,但是并不展示

​```{r, fig.show='animate'} for (i in 1:2) { pie(c(i %% 2, 6), col = c('red', 'yellow'), labels = NA) } fig.width:设置图片输出的宽度fig.height:设置图片输出的高度fig.align 设置图片位置排版格式,默认为left,可以为right或者centerfig.cap :设置图片的标题fig.subcap:设置图片的副标题out.width和out.height选项指定在输出中实际显示的宽和高,如果使用如"90%"这样的百分数单位则可以自动适应输出的大小。 2.插入外部图形文件

如果一个图不是由一个R代码块生成的,你可以用两种方式包含它:

方法一

使用Markdown语法![caption](path/to/image),你可以使用width和height属性来设置图像的大小,例如:

![图的标题](xxx.png){width=50%}

注意:图片文件放的位置(如果和rmd同一目录,则可以直接xxx.png;如果在其他位置记得加上相对路径)。

在这里插入图片描述

方式二

在source editor情况下,直接外部拉入图形即可,会自动保存在相对文件夹的images文简介中,或者点击图形按钮导入。 在这里插入图片描述

方式三

在代码块中使用knitr函数knitr::include_graphics()。图片尺寸更改与插入R代码生成的图形的情况相同。

​```{r, echo=FALSE , out.width="50%"} knitr::include_graphics("xxx.png") ​``` 表格输出 1. 外部表格输入 markdown格式

在这里插入图片描述

Typora格式

在这里插入图片描述

2. 内部代码输出的表格

例子:计算线性回归后, summary()函数的输出中有coefficients一项,是一个矩阵, 如果直接文本显示比较难看:

x


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3