Rcpp 与 Rmarkdown?编译时出错

Rcpp with Rmarkdown? Error while compilying

我想用 Rmarkdown 创建一个 html 文档。在 R 代码的开头,我需要获取一些 R 脚本的源代码,而其中一个包含用 Rcpp 编写的 C++ 函数的定义。 Rmd 中的一段代码成功运行,但在编织时出现错误:

Line 85 Error in command 'sourceCpp(code = code, env = env, rebuild = rebuild, cacheDir = cacheDir, ': Error 1 occurred building shared library. Calls: ... withVisible -> eval -> eval -> cppFunction -> sourceCpp

不幸的是,我无法分享我的全部代码,但它的结构如下所示。反正好像是使用了cppFunction导致的错误。我该如何处理才能生成 html 或 pdf 文档?

```{r}
library(rlang)
library(tidyverse)
library(Rcpp)

source('directory\script1.R')
source('directory\script2.R')
```

请参阅 knitr 文档——Rcpp 实际上是一个合适的处理器。所以你可以做

```{Rcpp firstChunk}
Rcpp::IntegerVector doubleMe(Rcpp::IntegerVector x) {
  return x + x;
}
```

其次是

```{r secondChunk}
myvector <- 19:21
cat("The answer is ", tail(doubleMe(myvector), 1), "\n")
```

它会做正确的事。您可以正式依赖第二个块中的第一个块等等——请参阅 knitr 文档。