我经常有一个主R Markdown文件或knitr LaTeX文件,其中我source有一些其他R文件(例如,用于数据处理).但是,我认为在某些情况下,将这些源文件作为自己的可再现文档(例如,R Markdown文件不仅包括用于数据处理的命令,而且还生成可重复的文档来解释数据处理将是有益的.决定).
因此,我想source('myfile.rmd')在我的主R Markdown文件中有一个命令.这将提取和源代码的R代码块内的所有R代码myfile.rmd.当然,这会引起错误.
以下命令有效:
```{r message=FALSE, results='hide'}
knit('myfile.rmd', tangle=TRUE)
source('myfile.R')
```
Run Code Online (Sandbox Code Playgroud)
results='hide'如果需要输出,可以省略.即,从knitr输出的R代码myfile.rmd成myfile.R.
但是,它似乎并不完美:
source(...).因此我的问题是: 是否有更优雅的方式来获取R Markdown文件的R代码?
我一直在阅读关于R Markdown(这里,这里,这里)并使用它来创建可靠的报告.我想尝试使用我正在运行的小代码进行一些临时分析,并将它们转换为更具伸缩性的数据报告.
我的问题相当广泛:是否有适当的方法来围绕R Markdown项目组织代码?比方说,有一个生成所有数据结构的脚本?
例如:假设我有cars数据集,并且我已经在制造商处引入了商业数据.如果我想将制造商附加到当前cars数据集,然后使用操纵数据集为每个公司生成单独的汇总表cars.by.name以及使用某个样本绘制图表,该cars.import怎么办?
编辑:现在我打开了两个文件.一个是具有所有数据操作的R脚本文件:子集化和重新分类值.另一个是R Markdown文件,我正在构建文本以配合各种感兴趣的表格和图表.当我从R脚本文件中调用一个对象时 - 比如:
```{r}
table(cars.by.name$make)
```
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说 Error in summary(cars.by.name$make) : object 'cars.by.name' not found
编辑2:我发现这个较旧的帖子很有帮助.链接
---
title: "Untitled"
author: "Jeb"
date: "August 4, 2015"
output: html_document
---
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>. …Run Code Online (Sandbox Code Playgroud)