用R Markdown 生成数据分析报告

2024-06-23 16:58

本文主要是介绍用R Markdown 生成数据分析报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为了创建 R Markdown报告,打开text文件,并将它保存为.Rmd 文件。File > New File > Text File

确保保存成 .Rmd文件, RStudio IDE能够很大程度上帮助你完成整个任务.,你可以保存通过File > Save。修改扩展名。

R Markdown 报告由一下3部分组成:

  1. text文本
  2. knitr 处理 R code
  3. YAML的渲染参数

本文将逐一介绍:

处理文本

.Rmd 文件包含text,Markdown是一种处理普通格式文本的公约,包括一下特征:

  • 加粗和斜体文本
  • 列表
  • title
  • 超链接
  • 更多

这个协议虽然很朴素,但是,制作的文本非常易读,对下文文本采用了了本协议,请看

# Say Hello to markdownMarkdown is an **easy to use** format for writing reports. It resembles what you naturally write every time you compose an email. In fact, you may have already used markdown *without realizing it*. These websites all rely on markdown formatting* [Github](www.github.com)
* [StackOverflow](www.stackoverflow.com)
* [Reddit](www.reddit.com)

编写过程中展示了如何使用 markdown:

  1. headers - 使用一个或者多个 # 在文本的开始阶段,例如: # Say Hello to markdown. 单个#意味着文本是一级标题,两个#代表二级标题,以此类推.

  2. 斜体和加粗字体 - 对文本两侧加一个星号得到斜体字体,例如上文中:*without realizing it*. 用双星号包围文本得到加粗字体, 例如:**easy to use**.

  3. lists - 每个要点之前用星号,正文与要点之间留空行

      This is a list* item 1* item 2* item 3

    This is a list

    • item 1
    • item 2
    • item 3
  4. hyperlinks - 1.用中括号包围网站名称,2.用括号包围具体链接,然后连接在一起使用,例如:[Github](Build software better, together).

    你可以查看更多的Mardown 操作指导:Markdown Quick Reference guide
    1.open a .md or .Rmd file in RStudio. 
    2.打开?
    3.选择 “Markdown Quick Reference”
    4.在帮助面板即可查看

渲染

为了将markdown文件转化为HTML, PDF, 或 Word document,单机编辑面板的工具“Knit” 控件,出现下拉菜单,选择你要的转化文件类型。

当你选定格式后, rmarkdown 将把你的文本转化成新格式文件。rmarkdown能够采用markdown语法的文件变更格式。

一旦文件被渲染,RStudio将预览目标格式结果,并保存在工作目录中。

下图展示了3种最终格式的预览图:

Note: RStudio不能直接转化PDF和word,需要装其他软件。

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代码,如下图所示:

YAML 渲染参数

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

---
title: "Untitled"
author: "Garrett"
date: "July 10, 2014"
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会输出类型加入默认选项菜单。

这篇关于用R Markdown 生成数据分析报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087743

相关文章

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

SpringBoot实现二维码生成的详细步骤与完整代码

《SpringBoot实现二维码生成的详细步骤与完整代码》如今,二维码的应用场景非常广泛,从支付到信息分享,二维码都扮演着重要角色,SpringBoot是一个非常流行的Java基于Spring框架的微... 目录一、环境搭建二、创建 Spring Boot 项目三、引入二维码生成依赖四、编写二维码生成代码五

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I