在rmarkdown中读取多个文件

时间:2015-11-02 21:17:40

标签: r-markdown

我使用RMarkdown并希望在编织文档之前获取多个.R文件。我将.R文件拆分为“read.R”和“calc.R”,但rmarkdown使用此方法返回错误。但是,如果我将read.R和calc.R组合成一个文件(“combined.R”),它运行没有问题。

这就是我想做的事情。 在一个.R文件中读取此数据。

# Read.R
game <- c(1,2,3,4,5)
royals <- c(5,7,3,5,7)
mets <- c(4,1,9,3,2)
data <- data.frame(game,royals,mets)

然后在另一个.R文件中计算。

# Calc.R
data$winner <- ifelse(data$royals>data$mets,"royals","mets")

然后运行rmarkdown。这不起作用(采购单独的文件)......

---
title: "rmd_test"
author: "me"
date: "Monday, November 02, 2015"
output: word_document
---
```{r}
source("read.R")
source("calc.R")
print(data)
```

但是采购单个组合文件确实......

# Combined.R
# Read data
game <- c(1,2,3,4,5)
royals <- c(5,7,3,5,7)
mets <- c(4,1,9,3,2)
data <- data.frame(game,royals,mets)
# Calc
data$winner <- ifelse(data$royals>data$mets,"royals","mets")

这是使用单个combined.R文件的相同rmarkdown文件。

---
title: "rmd_test"
author: "me"
date: "Monday, November 02, 2015"
output: word_document
---
```{r}
source("combined.R")
print(data)
```

我想分割文件,因为我的“read.R”文件相当通用且稳定,但“calc.R”发生了变化并且是可变的。因此拆分两者更方便。

1 个答案:

答案 0 :(得分:0)

如果要在不同脚本甚至项目之间共享代码。你应该考虑将它放在一个单独的包中。虽然这在开始时确实更加努力,但是当您的项目增长或者您希望与其他人共享代码时,这可能会得到回报。 如果你是一个“R-package”新手(像我一样),Hadley Wickham在网上有一本非常好的书:http://r-pkgs.had.co.nz/