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)`个人。
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=
选择文本型结果的类型。 取值有:
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文件下方,具体见下图。

```{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或者center - fig.cap :设置图片的标题
- fig.subcap:设置图片的副标题
- out.width和out.height选项指定在输出中实际显示的宽和高,如果使用如
"90%"
这样的百分数单位则可以自动适应输出的大小。
如果一个图不是由一个R代码块生成的,你可以用两种方式包含它:
使用Markdown语法
,你可以使用width
和height
属性来设置图像的大小,例如:
{width=50%}
注意:图片文件放的位置(如果和rmd同一目录,则可以直接xxx.png;如果在其他位置记得加上相对路径)。
在source editor情况下,直接外部拉入图形即可,会自动保存在相对文件夹的images文简介中,或者点击图形按钮导入。
在这里插入图片描述
在代码块中使用knitr函数knitr::include_graphics()
。图片尺寸更改与插入R代码生成的图形的情况相同。
```{r, echo=FALSE , out.width="50%"}
knitr::include_graphics("xxx.png")
在这里插入图片描述
例子:计算线性回归后, summary()
函数的输出中有coefficients一项,是一个矩阵, 如果直接文本显示比较难看:
x <- 1:10; y <- x^2; lmr <- lm(y ~ x)
co <- summary(lmr)$coefficients
print(co)
knitr包提供了一个 kable()
函数可以用来把数据框或矩阵转化成有格式的表格, 支持HTML、docx、LaTeX等格式。
可以用knitr包的kable函数来显示:
knitr::kable(co)
kable()
函数的digits=
选项可以控制小数点后数字位数, caption=
选项可以指定表的标题内容。
其pander()
函数可以将多种R输出格式转换成knitr需要的表格形式。 如
pander::pander(lmr)
但是,经过试验发现, 表中中有中文时pander包会出错。这里参考公众号[R友舍]
通过前面可以看到:用knitr::kable()输出表格结果其实不是非常美观,并且很多功能都不能实现。这时我们可以用kableExtra(Zhu 2020)、huxtable (Hugh-Jones 2020)等扩展包来美化表格。
其他拓展包可以参考:https://bookdown.org/yihui/rmarkdown-cookbook/table-other.html
本文以kableExtra包为例,介绍rmarkdown中渲染表格的相关函数。 它在https://haozhu233.github.io/kableExtra/上有大量文档,其中提供了许多示例,说明如何针对HTML或LaTeX输出自定义kable()输出。 建议阅读其文档,本节中仅介绍一些示例介绍。
kableExtra包可以使用管道符号%>%操作,例如
library(knitr)
library(kableExtra)
kable(iris) %>%
kable_styling(latex_options = "striped")
# install from CRAN
install.packages("kableExtra")
# install the development version
remotes::install_github("haozhu233/kableExtra")
bootstrap_options = "bordered"
构建有边框的表格,其他可调节的名称可通过帮助文档获取。
x_html <- knitr:: kable(head(rock), "html")
kableExtra::kable_styling(x_html,bootstrap_options = "bordered")
使用full_width = F
使得表格横向不会填满整个页面。默认情况下full_width = T
x_html <- knitr:: kable(head(rock), "html")
kableExtra::kable_styling(x_html,bootstrap_options = "striped",
full_width = F)
注意:上面例子knitr:: kable制定了kable函数来自knitr包,目的是方式和其他包内同名函数冲突。
另一种写法,如果想使用管道函数,需要加载kableExtra。其他代码也类似,大家要学会举一反三噢!
library(knitr)
library(kableExtra)
kable(head(rock), "html") %>%
kable_styling(x_html,bootstrap_options = "striped",
full_width = F)
使用position = "left"使得整个表格像左对齐,当然也可以中心对齐和右对齐,视情况而定。
x_html <- knitr:: kable(head(rock), "html")
kableExtra::kable_styling(x_html,bootstrap_options = "striped",
full_width = F,
position = "left")
在这里插入图片描述
使用font_size = 20
可以将字体大小改为20。
x_html <- knitr:: kable(head(rock), "html")
kableExtra::kable_styling(x_html,bootstrap_options = "striped",
full_width = T,
font_size = 20
这里使用的函数是column_spec(),其中以下代码含义为:制定前两列数据,字体加粗、颜色为白色,表格填充为"#D7261E"。而行的设置与列类似,使用函数名为row_spec()。
x_html <- knitr:: kable(head(rock), "html")
x_html <- kableExtra::kable_styling(x_html,
bootstrap_options = "striped",
full_width = T)
kableExtra::column_spec(x_html,1:2,
bold = T,
color = "white",
background = "#D7261E")
x_html <- knitr:: kable(head(rock), "html")
x_html <- kableExtra::kable_styling(x_html,
bootstrap_options = "striped",
full_width = T)
kableExtra::row_spec(x_html,1:2,
bold = T,
color = "white",
background = "#D7261E")
这里给出一个有趣的例子,具体内部不做过多解释,b站视频给出解释。文字真的很难说明哈哈。
library(kableExtra)
data = plyr::mutate(rock[1:10, ],
perm = cell_spec(perm,"html",
color = "white",
bold = T,
background = spec_color(1:10,
end = 0.9,
option = "A",
direction = -1)),
shape = ifelse(shape > 0.15,
cell_spec(shape,
"html",
color = "white",
background = "#D7261E",
bold = T),
cell_spec(shape, "html",
color = "green",
bold = T)))
x_html <-knitr::kable(data,"html", escape = F, align = "c")
x_html <-row_spec(x_html,0, color = "white", background = "#696969" )
kable_styling(x_html,"striped")
R沟通|Rmarkdown教程(1)
R沟通|Rmarkdown教程(2)
R沟通|markdown编辑器—Typora
R沟通|用xaringan包制作幻灯片 等,在我公众号【庄闪闪的R语言手册】了解。
预告:最近会出基于blogdown制作个人日记本的视频教程。
代码输出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.html2)文本结合代码这里
文章目录@[toc]原始输出表格knitr包美化表格kableExtra包美化表格kable_styling()表格操作
Rmarkdown表格除了用markdown语法手动输入以外,还包括通过R语言函数生成的各种表格类输出。如用summary()函数进行数据描述时候、使用lm()函数进行线性回归建模输出的系数。
这些原始输出结果美观上有所不足,可以使用各种R语言包进行美化。如knitr包、pa...
| 表头 | 表头 | 表头 |
| -------- | -------- | -------- |
| 行1,列1 | 行1,列2 | 行1,列3 |
| 行2,列1 | 行2,列2 | 行2,列3 |
| 行3,列1 | 行3,列2 | 行3,列3 |
效果图:
R语言主要用于统计分析和绘图,可以理解为是一种数学计算软件,可编程,有很多有用的函数库和数据集,它强大的作图工具是做数据分析的好帮手,在高手如云的大数据江湖中,不炫个技都不敢说自己是江湖中人,那么我们就看看想要炫技需要掌握哪些基本功吧
请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址
注意:本文中实际使用的样本数据是根据具体命令任意挑选某组样本数据,不具有针对
kableExtra
当我们谈论R中的表生成器时,由于的kable()函数kable()简单,因此通常是一种流行的选择。 与类的功能强大的表呈现引擎 , 背后的理念是使程序员易于使用。 就像其功能说明中所声称的那样,
这是一个非常简单的表生成器。 设计上很简单。 它不打算替换任何其他用于制作表的R包。 -艺熙
但是, kable()的终极简单性也给我们中的一些人带来了麻烦,特别是对于新的R用户,他们可能没有太多在R中生成表的经验。如何在Stack Overflow上使表格居中/左对齐。 另外,对我个人而言,我发现自己反复将CSS解析为kable()以获得一些非常简单的功能,例如条纹。 对于
简单介绍:markdown是一种简单的文本处理的标记语言,它的功能类似于word,但与word中各种排版、字体设置不同,markdown能使我们更专注于码字这件事,用标记语法来代替常见的排版格式。并且更重要的是,markdown支持直接插入代码,形成图像。
Rmarkdown就是基于R中的文本处理格式
文章目录在RStudio中安装markdown基本的字体形式的语法标题列表字体链接????插入R代码一...
在上一篇我们讲了R Markdown的基础已经简单的例子。今天来看一下data.frame和matrix在R markdown里面如何展示。
默认表格输出
这个是直接写R code默认的在html文件里面的输出。
library(rmarkdown)
render("tables.Rmd", "html_document")
格式化输出
R里面提供了很多包可以用来格式化在rmarkdown里面...
rmdformats
这个R包为RMarkdown文档提供了现成HTML输出格式和模板。 目标是在有或没有RStudio IDE的情况下“开箱即用”地生成干净的文档。
该软件包提供了几种HTML输出格式。 单击任何图像以查看HTML输出示例。
downcute
摘自项目主题及其对改编。 响应式,带有动态目录和深色主题切换器。
robobook
根据主题改编,并带有Roboto家族字体。 具有动态目录和可折叠导航的完全响应。
material
格式取自的。 文档在每个<h1>标头<h1>为几页,并且目录允许在这些页面之间进行动画导航(您可以使用cards: false pream
Rmarkdown可以将R代码嵌入到markdown格式文件中,动态生成研究报告。
通过knitr、pandoc可以将同一份报告编译成各种格式(html、word、pdf),同时借助Rmarkdown一系列扩展包,可以制作书籍、静态网站、幻灯片等。
Rmarkdown文件以.Rmd为扩展名。
内容上包括三部分:
yaml文件头,放在文件开头部分。用以规定标...
RStudio和RMarkdown是两个不同的工具,但它们可以一起使用来创建可重复性的数据分析报告。
首先,你需要在RStudio中安装rmarkdown包。然后,你可以创建一个新的RMarkdown文档,选择你想要的输出格式(如HTML、PDF等),并开始编写你的报告。
在RMarkdown文档中,你可以使用R代码块来执行数据分析任务,并将结果嵌入到报告中。你还可以使用Markdown语法来格式化文本和添加图片等元素。
当你完成了报告的编写,你可以使用RStudio中的“Knit”按钮将RMarkdown文档转换为所选的输出格式。这将自动执行所有的R代码块,并将结果嵌入到报告中。
总之,RStudio和RMarkdown是非常强大的工具,可以帮助你创建可重复性的数据分析报告。如果你想深入了解它们的使用方法,可以参考RStudio和RMarkdown的官方文档。