r - 我应该如何将自定义函数导入 RMardown 文件?
问题描述
source(functions.R)
我经常将自定义函数保存在 R 脚本中,我在 R 脚本的开头使用这些函数将其加载到环境中。
假设我现在想创建一个 RMarkdown 文档来总结我的一些分析结果,这些结果依赖于这些函数。我不想将这些函数复制粘贴到 .Rmd 文件中(有很多函数,我可能会随着时间的推移对其进行修改)。
我应该如何在 .Rmd 文件中加载这些函数?现在我只是source(functions.R)
在 .Rmd 文件中的代码块中使用,但我不确定这是否是最佳实践。
示例:我有两个文件:functions.R
和report.Rmd
功能.R:
mySum <- function(a, b) {return(a + b)}
报告.Rmd:
---
title: "Report"
output: pdf_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
source('functions.R')
```
The sum of 4 and 5 is `r mySum(4, 5)`
解决方案
不要那样做。按照@N.Williams 的建议去做:如果您有值得重复使用的代码,请将其放入一个包中。
包不仅仅是包含其功能的脚本。文档说明了每个功能应该做什么。如果将来您决定更改他们的工作,您将知道您是否违反了文档中包含的隐含合同。如果您这样做,您将需要检查该功能的每次使用以查看更改是否重要。
推荐阅读
- javascript - 为什么我的 JavaScript Fetch 在我的 Laravel 应用程序上成功发布时出现错误
- php - 如何使用 htaccess 隐藏查询字符串
- forms - 表单视图中的可编辑树视图未保存
- python - 如何替换列表中的部分字符串
- netsuite - NetSuite 信函模板未合并
- python - 用python打开.txt文件
- docker-compose - docker-compose up 卡在“附加到....”
- python - re.findall :当 {} 已用于匹配的出现范围时,在正则表达式中插入变量值失败
- mysql - JDBC连接被拒绝,mysql端口值保持为0,不能改成3306
- php - 获得双倍查询 laravel