读者求助|利用 R Markdown 批量制作数据分析报告

简介: 读者求助|利用 R Markdown 批量制作数据分析报告

简介

最近收到读者的技术求助邮件,如下所示:

对于该问题,在我的 R Markdown 入门教程中没有给出教程(视频见文末),因为算是较为进阶的技术了。我相信看我推文的老读者们应该对 R Markdown 的基础操作有一定了解。并且想将其应用到自动化办公场景中,从而增加办公效率。

所以针对这个问题,小编今天给出一个基础版本的“利用 R Markdown 批量制作数据分析报告”教程,供大家参考。该教程主要参考了:

  1. R Markdown 指南 第 7 章:使用 R Markdown 开展项目工作[1] ps:这是一本正在写的 R Markdown 中文书籍,未来准备出版,小编有幸参加了部分内容的撰写。有兴趣的读者可以提前阅读。
  2. Iterate multiple RMarkdown reports[2]

注意:制作这个教程花费较长时间,欢迎大家一键三连呀~ 教程对应的项目代码已经开源在 GitHub[3] 中,欢迎 Fork 和 star。或者公众号后台回复[批量制作数据分析报告]免费获得。

问题背景

假设我们得知不同学校学生信息,包括:姓名,身高,体重。如:

领导/硕导/博导 要求分别给出不同学校的学生信息分析报告。此时,可以使用 R Markdown 开展这项工作。

教程

创建文件等基础内容,小编在此省略。实在不会的读者,直接下载我的 Demo 文件夹,修改即可。

创建 .Rmd 文件

首先,给出一个中文.Rmd,该文件可以对不同学校的学生信息进行数据分析,并给出对应的图表和分析结果。为了使得该文件能够自动化导入不同数据集,需要在 YAML 中的 params 参数中加入自定义参数,例如:new_title: A中学。这样通过外部变化改参数,即可修改导入不同学校数据了(注意 YAML 中的字符缩进)。YAML 文件如下所示:


分析报告内容不做过多介绍,包含对该数据的预处理和探索性分析,由于小编科研时间紧张,没有做过多分析,大家可以自行发挥。仅需要注意:

注意:使用 `r params$new_title` 加载参数,例如:首先,我们加载 `r params$new_title` 学生的信息。此时编译得到的结果为:


最后生成的 PDF 如下所示:


1


2



3

此时,单个数据分析报告制作完毕,并设置了参数导入不同学校名称。

创建 .R 文件

之后创建一个 .R 文件,目的是重复输入不同学校并编译构建新的数据分析报告。代码截图如下所示:



test.R 文件

library(rmarkdown)
school = c("A中学","B中学")
for(v in school){
  render("中文.Rmd",
         output_file=paste0("result/exploratory_", v, ".pdf"),
         params=list(new_title=v))
}

该代码通过 render() 函数编译刚才写的 中文.Rmd 文件,刚设置的参数 new_title 迭代命名为不同的学校 v,并将编译结果放到对应文件夹内的子文件夹 result 中(注意提前创建该子文件夹)。运行这些代码即可得到批量的数据分析报告:



对比结果

由于页面有限,仅对比展示不同数据得到的图表:


A学校


B学校


A学校



B学校



未来展望

  • 对于不同的数据,虽然可以自动化绘制不同的报表,但是由于数据不同,结果也会不同。不同结果如何达到自动化分析呢?这个问题还需要再商讨。个人觉得如果能把类似 ChatGPT 结合起来,或许真能实现自动给出完整的分析报告了。类似的 ChatGPT 的 R 包有:chatgpt[4]gptstudio[5]。教程有:1[6]2[7],供参考。
  • 制作该可重复性报告的前提是:不同数据需要一致的数据结构。这点是否可以进行拓展?是否有专门的包能够自动对数据处理,并给出统一的数据格式?
  • 制作这个教程花费较长时间,欢迎大家一键三连呀~ 教程对应的项目代码已经开源在 GitHub[8] 中,欢迎 Fork 和 star。或者公众号后台回复[批量制作数据分析报告]免费获得。

参考资料

[1]

R Markdown 指南 第 7 章:使用 R Markdown 开展项目工作: https://cosname.github.io/rmarkdown-guide/rmarkdown-project.html#render-rmd

[2]

Iterate multiple RMarkdown reports: https://community.rstudio.com/t/iterate-multiple-rmarkdown-reports/43208/7

[3]

GitHub: https://github.com/liangliangzhuang/R_example

[4]

chatgpt: https://github.com/jcrodriguez1989/chatgpt

[5]

gptstudio: https://github.com/MichelNivard/gptstudio

[6]

1: https://rpubs.com/nirmal/setting_chat_gpt_R

[7]

2: https://www.karada-good.net/en/ranalytics/r-e767/

[8]

GitHub: https://github.com/liangliangzhuang/R_example

目录
相关文章
|
6月前
|
存储 数据采集 数据可视化
【python】当当书籍数据抓取分析与可视化(代码+报告)【独一无二】
【python】当当书籍数据抓取分析与可视化(代码+报告)【独一无二】
186 0
|
3月前
|
数据采集 存储 数据挖掘
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
本文介绍了一个基于Python的书旗网小说网站数据采集与分析系统,通过自动化爬虫收集小说数据,利用Pandas进行数据处理,并通过Matplotlib和Seaborn等库进行数据可视化,旨在揭示用户喜好和市场趋势,为图书出版行业提供决策支持。
313 6
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
|
6月前
|
数据采集 存储 数据可视化
微博数据可视化分析:利用Python构建信息图表展示话题热度
微博数据可视化分析:利用Python构建信息图表展示话题热度
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
巧用ChatGPT高效搞定Excel数据分析
随着人工智能技术的不断发展,越来越多的企业开始将其应用于办公场景,以提高员工的工作效率。而在众多办公软件中,Excel无疑是最常用的一款。然而,传统的Excel数据分析方法往往耗时且容易出错。
830 0
|
6月前
|
存储 数据可视化 数据挖掘
【数据分析与可视化】时间序列基础讲解与实战(图文解释 附源码)
【数据分析与可视化】时间序列基础讲解与实战(图文解释 附源码)
76 0
|
数据采集 SQL 分布式计算
81 网站点击流数据分析案例(数据预处理功能)
81 网站点击流数据分析案例(数据预处理功能)
87 0
|
数据挖掘 Python
python数据分析表格文档Excel数据分析器统计源码
python数据分析表格文档Excel数据分析器统计源码
185 0
|
数据采集 SQL 监控
5-网站日志分析案例项目回顾与点击流数据分析项目介绍
文章目录 5-网站日志分析案例项目回顾与点击流数据分析项目介绍 一、网站日志流量数据分析 1.背景: 2.日志种类 3.分析指标 4.日志流量数据分析系统
5-网站日志分析案例项目回顾与点击流数据分析项目介绍
|
SQL 数据挖掘 Python
史上最全的Python操作 “PPT” 文档大全,以后写“数据分析报告”靠她了!
史上最全的Python操作 “PPT” 文档大全,以后写“数据分析报告”靠她了!
674 0
史上最全的Python操作 “PPT” 文档大全,以后写“数据分析报告”靠她了!