[R语言]RMarkdown: 入门与操作

news2024/11/29 22:55:47

Rmarkdown入门汇总

R Markdown介绍

RMarkdown为我们的数据分析创建一个清晰美观的报告,它能够包含代码,图,表,说明,查看的人能够很清楚地理解。

RMarkdown利用Markdown的语法,能够被方便的转成其他类型(如html或pdf)的文件。

如果要用RMarkdown,首先要下载R和RStudio。

R Markdown是通过R语言制作动态文档的文件格式。

R Markdown文档编辑需要 rmarkdown包,rmarkdown安装需要RStudio编辑器环境,但是你可以以github途径来下载rmarkdown,并安装。

devtools:install_github("rmarkdown", "rstudio")

R Markdown是资源代码丰富并高可用的文件,你可以将通过一下两种方式改变R Markdown文件格式。

  1. knit - knit 文件. rmarkdown包调用knitr包, knitr 将运行所有的R代码,并将得到的结果追加到代码之后,这种工作方式非常节省实践并且报告也可复用。传统的,作者制作包含图形的报告。作者需要制作图形,保存为文件,然后copy并粘贴到最终的报告中,这个工作严重依赖人力,如果数据有变更,那么作者需要重复整个过程来更新图形。现在,再R Markdown的模板中,每个报告都包含制作图形,表格,数字所需的代码,作者可通过knit来自动完成更新。
  2. convert - convert 文件。rmarkdown包借助pandoc来将文件转变成新的格式,例如,你可以转变Rmd文件成HTML, PDF, 或Microsoft Word文件,你甚至可以转变成 HTML5 或 PDF 幻灯片,rmarkdown保持文本,代码结果与Rmd文件中的结构一致。这些转变能力能让你markdown编辑,并方便的改变格式,你可以将R代码放入knit,并以任何一种格式分享个其他人。

在实际应用中,作者经常同时用knit 和 convert文档。在本文,将用render 命令来对R markdwon文件执行 knitting 和 converting过程。

你可以认为的用render作用到R Markdown 文件, 如: rmarkdown::render(). 上面的代码渲染成HTML文件格式之后的结果如下图。

rmarkdown::render(),R markdown与RStudio深度合作

integrated into the RStudio IDE

,因为,你可以通过按键来完成以上命令。

R Markdown下载和文件创建

install.packages("rmarkdown")
library(rmarkdown)

下载完成后,打开RStudio,通过File -> New File -> R Markdown创建一个Rmd文件。

(也可以直接进行第二步,会自动进行安装)

R Markdown文件中的三个模块

The YAML Header

在所有RMarkdown文件中的头部都会有一个YAML头模块,利用---分隔开,包含标题,作者,日期以及文件类型。

---
title: "RMarkdown test"
author: Gremmie
date: 13/12/2022
output: html_document
---

Code Chunks

在YAML头模块后j是代码块,可以写自己的代码,相应的解释以及输出。代码块需要利用'''来进行分割,可以利用Run只跑这一段代码。这一部分的书写和R一样,只是要注意分块要根据功能来,不然会不美观。

```{r car}
summary(cars)
```

上述代码块的名字为car。除此之外,数据,文件,以及包如果要包含,也要写到代码中。

上述方法得到的最后结果代码块是会显出出来的,如果不想显示代码块,只显示结果的话可以利用echo。如果在给定变量的时候不想显示的话,可以利用include。隐藏警告可以利用warning。

```{r pressure, echo=FALSE}
plot(pressure)
```

knitr嵌入R代码

knitr包 能够兼容markdown语法,尤其包含执行R代码的能力。

渲染报告的过程中, knitr 将执行代码并将输出的结果展示。可以选择性的展示:之展示代码,只展示结果,代码与结果同时展示。

想嵌入R代码在报告中,用两行```将代码包围,在第一个``` {r}, 用于通知knitr下面的将是R代码,具体模板如下:

Here's some code
```{r}
dim(iris)
```

在渲染文档的时候, knitr将运行代码并将结果追加在代码之后,knitr提供格式和语法高亮展示R代码和代码运行结果。

作为上面R代码的markdown结果:

如果不想将结果results 追加到报告中,可以将eval = FALSE 参数加入大括号中,这样做的结果就是只把代码放入报告中,而不执行。

只将结果放入报告中,参数echo = FALSE 而不显示代码:


echo = FALSE同样实用于作图:

参数echo 和 eval不仅仅用于自定义code, 你可以通过 rmarkdown 和 knitr 进行学习。

行间代码

嵌入R代码到文本当中,在代码的两侧用点’来包围,如下:

Two plus two equals `r 2 + 2`.

knitr 将用代码结果代替R代码,如下图所示:

图片和表格插入

直接将plot和表格的名称写入Code Chunks即可。

其他插入表格的方式

kable

```{r kable}
library(knitr)
kable(cars, digits=2)
```

pander

```{r pander}
library(pander)
pander(cars,digits=2)
```

手动画表(一脸认真

| Plant | Temp. | Growth |
|:------|:-----:|-------:|
| A     | 20    | 0.65   |
| B     | 20    | 0.95   |
| C     | 20    | 0.15   |

文本格式

对于不同的文本格式,语法如下:

*斜体* 
**粗体** 
'code' 
# 一级标题
## 二级标题
* 用点列举
1. 顺序列举
[Link](https://www.google.com)
$formula$

YAML 渲染参数

YAML header将决定如何展现你的 .Rmd file.文件,用两个 --- 包围,如下:

---
title: "Untitled"
author: "Gremmie"
date: "July 10, 2022"
output: html_document
---

Some inline R code, `r 2 + 2`.

output: 决定最后的文件类型。

output: 选择其中一种类型的文件类型

  • html_document,
  • pdf_document,
  • word_document,

RStudio IDE knit更加方便的进行设置。

幻灯片:

可以将文档转换为幻灯片:

  • 参数设定output: ioslides_presentation 创建ioslides (HTML5)幻灯片
  • 参数设定output: beamer_presentation 创建 a beamer (PDF) 幻灯片

Note: 默认情况下RStudio编辑器中knitr没有默认选项,先在命令中修改输出类型,RStudio会输出类型加入默认选项菜单。

具体参数详见rmakdown.rstudio.com

总结

R Markdown 提供快速,可复用的报告方式,可以在markdwon中编写报告,并用knitr嵌入代码,可以随时更新代码,最终的文档可以转变成任何文件类型,

Introduction to interactive documents, 将教你如何将shiny的互动元素加入到markdown中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超店有数推出TikTok达人批量触达工具,让海量达人同时带货不再是梦

近年来,TikTok的全球化步伐越来越快。作为全球知名的短视频应用,TikTok目前日活跃用户超过8亿。电子商务业务规模保持快速增长。今年TikTok Shop黑五大促已于11月28日正式收官,TikTok Shop在黑五大促期间GMV增长126%,订单量增长13…

汇编前四章学习笔记

汇编学习笔记(by 小白奋斗ing) 参考《汇编语言(第三版)》王爽著 1.基础知识 1.1 机器语言 二进制编码 1.2 汇编语言 1.3 汇编语言的组成 1.4进制表示符 二进制(B),十六进制(H&a…

2022计算机毕业设计选题推荐 - 计算机毕业设计题目大全

文章目录0 前言1 java web 管理系统 毕设选题2 java web 平台/业务系统 毕设选题3 游戏设计、动画设计类 毕设选题 (适合数媒的同学)4 算法开发5 数据挖掘 毕设选题6 大数据处理、云计算、区块链 毕设选题7 网络安全 毕设选题8 通信类/网络工程 毕设选题9 嵌入式 毕设选题10 开…

电脑怎么恢复数据?恢复数据的3个技巧分享

在日常工作或生活中,电脑都是不可或缺的工具和设备。电脑里面保存着很多文件数据,如果重要的数据文件丢失,那就很麻烦。如果电脑数据丢失,怎么恢复数据?让我们一起来看看下面的3个恢复电脑数据的技巧吧! 数…

阿里最新分享 SpringCloudAlibaba 实战小抄(第五版),一代更比一代强

为什么要学习 SpringCloud Alibaba? Spring Cloud Alibaba 为分布式应用开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,可以轻松地使用 Spring Cloud 开发应用程序。 使用 Spring Cloud Alibaba,只需添加一些注解和少…

web前端期末大作业——用HTML+CSS做一个漂亮简单的电影主题网站

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

【Python百日进阶-数据分析】Day127 - plotly折线图:px.line()/go.Scatter()实例

文章目录四、实例4.1 px的折线图4.1.1 加拿大的预期寿命4.1.2 带有列编码颜色的折线图4.1.3 Dash中的折线图4.1.4 折线图中的数据顺序4.1.5 连通散点图4.1.6 带标记的折线图4.1.7 symbol参数可用于将数据字段映射到标记符号4.1.8 日期轴上的折线图4.1.9 Sparklines with Plotly…

HUAWEI内网最新发布了一份452页网络协议手册,GitHb百万收藏

网络协议 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。 网络协议作为当下久经不衰的话题,如果你经常看一些CSDN,GitHub,开源中国等较大的程序员网站就可以发现 相关于网络协议的博文非常之多! 想要学习…

机密计算能否阻止下一次加密抢劫?

©网络研究院 近几个月来,数十亿美元的加密货币被盗是可以避免的,而机密计算是安全修复的关键。 机密计算旨在隔离敏感数据,而不会将其暴露给系统的其余部分,因为它更容易受到入侵者的攻击。它通过使用基于硬件的安全飞地处…

《Linux运维实战:使用Percona XtraBackup物理备份与恢复Mysql数据》

一、Percona XtraBackup工具介绍 Percona XtraBackup是世界上唯一开源、免费的MySQL热备份软件,可为InnoDB和XtraDB数据库执行非阻塞备份。 参考官方:Percona XtraBackup 1.1、支持的存储引擎 Percona XtraBackup可与MySQL和Percona Server配合使用。它…

虹科教您 | 利用UBIQUITY路由器实现对PLC的远程控制——以西门子S7-1200为例

随着各种工业协议的发展,各个工厂将面临着需要实现多种不同协议以及设备互联的挑战,其中也包含传统的机器设备。为了能够顺应物联网的发展,大幅提高效率,降低成本和资源消耗,并最终实现将传统工业提升到智能化的新阶段…

签约减碳计算模型背后:重新定义ESG

如果将法大大比做电子签界的“支付宝”,那么其减碳计算模型更像是“蚂蚁森林”,向内输血,向外赋能。 作者|斗斗 出品|产业家 纸张、打印、包装、运输......所有环节的碳排放因子被带入公式后,签约场景的碳排放清晰可见。至此…

三年前下载量达600W的老游戏,没想到还能发光发热!

说好的 TypeScript 版已经三年了,是时候该兑现了!《球球要回家2》是晓衡当年,初开微店晓衡在线时的开门商品(2021 年被 Cocos 招安,在 Cocos 引擎负责 CocosStore 与 Cocos微店 的运营工作)。《球球要回家2…

【服务器数据恢复】raid6崩溃导致上层虚拟机不可用的数据恢复案例

服务器故障: 服务器中一组由16块硬盘组成的raid6磁盘阵列,其中有一块硬盘由于物理故障掉线,服务器上层虚拟机不可用,部分分区丢失。用户重启服务器后发现上层数据还是处于丢失状态。 服务器数据恢复过程: 1、服务器数据…

Checked exception及Unchecked exception对比

一、异常分类 从异常处理机制的角度可以分为两类,Unchecked Exceptions和Checked Exceptions。Check即编译器检查程序是否已经抛出或处理了可能的异常。Unchecked Exceptions指的是被程序员check的异常,Checked Exceptions指的是被编译器check的异常。 T…

封装一个丝滑的聊天框组件

需求背景 应公司业务要求,需要做个聊天机器人,要适应不同的业务场景,大概就跟淘宝客服类似,发送消息,机器人自动回复。 话不多说,直接开撸 技术栈: react(hooks写法) …

Python——列表的常用操作

1.append: cities [北京] cities.append(上海) 2.count:统计某个元素在泪飙中出现的次数 temps [to,be,or,not,to,be] print(temps.count(to)) 3.extend:将一个列表中元素追加到另外一个列表中 a [1,2,3] b [4,5,6] c a.extend(b) 4.ins…

GPU上运行基于bert的分类任务训练loss为nan

问题如下: 运行环境:GPU 1080Ti 代码流程:因为是在之前的一份情感数据集上测试通过的,所以流程整体上应该没有大的问题。 但就是loss一直为nan,也没有报错。 然后经对比测试,同样的数据,同样…

Java——红黑树

概念 红黑树也是一种二叉搜索树,但是和avl树不同,它并不是依靠平衡因子来保证树的平衡的,而是通过颜色 红黑树每个节点中会存储颜色,分为红色和黑色,通过红黑树的限制条件,可以保证从根节点出发到叶子节点…

Final、求职两头难,留学生如何摆脱焦虑?

2022不知不觉已临近尾声,期末在即,今年秋招也即将告一段落。很多同学在学业和求职两难中艰难挣扎,焦虑情绪无形中被无限放大… 你是不是也有这样的感受—看着周围的同学们,一个接一个的拿着offer发到了朋友圈里,而自己…