R Markdown如何在单个代码块中一次性加载所有所需包供全局使用
结论
完全可以在单个代码块中一次性加载所有依赖包,加载后对整个R Markdown文档的所有代码块都生效,无需重复加载。
实现方式
R Markdown的所有代码块默认在同一个R会话中按顺序执行,你只需要在**文档最开头的初始化代码块(通常称为setup块)**中统一加载所有需要的依赖包即可,后续代码块可以直接调用这些包的函数,不需要重复执行library()。
优化后的代码示例
- 开头setup块统一配置全局选项+加载所有包:
knitr::opts_chunk$set(warning = FALSE, message = FALSE) # 一次性加载所有需要的依赖包 library(readr) library(dplyr) # 后续需要用到的其他包(如ggplot2、tidyr等)都可以放在这里统一加载
- 后续代码块无需再加载包,直接写业务逻辑即可:
I. 数据导入
导入csv文件并查看数据集维度:
df <- read_csv("df.csv") dim(df)
II. 数据探索
- 数据集中共有多少条唯一的预约记录?
df %>% select(appointment_id) %>% distinct() %>% nrow()
- 上述预约记录中有多少属于系列预约?
df %>% select(appointment_id,appointment_set_id) %>% filter(!is.na(appointment_set_id)) %>% distinct() %>% nrow()
额外说明
重复加载同一个包不会导致运行报错,只是属于冗余代码,统一放在开头管理更方便后续维护,需要新增/删除依赖时只需要修改setup块的代码即可。
内容的提问来源于stack exchange,提问作者Varun
相关产品推荐
相关产品推荐

