我想用Rmarkdown创建一个html文档.在R代码的开头我需要源几个R脚本,而其中一个包含C++函数的定义Rcpp.Rmd中的一大块代码成功运行,但是在编织时我遇到了错误:
第85行命令'sourceCpp中的错误(代码=代码,env = env,rebuild = rebuild,cacheDir = cacheDir,':构建共享库时出现错误1.调用:... withVisible - > eval - > eval - > cppFunction - > sourceCpp
不幸的是,我不能分享我的整个代码,但结构如下.无论如何,似乎错误是由使用引起的cppFunction.如何处理这个以生成html或pdf文档?
```{r}
library(rlang)
library(tidyverse)
library(Rcpp)
source('directory\\script1.R')
source('directory\\script2.R')
```
Run Code Online (Sandbox Code Playgroud)
请参阅knitr文档 - Rcpp实际上是一个合适的处理器.所以你可以做到
```{Rcpp firstChunk}
Rcpp::IntegerVector doubleMe(Rcpp::IntegerVector x) {
return x + x;
}
```
Run Code Online (Sandbox Code Playgroud)
其次是
```{r secondChunk}
myvector <- 19:21
cat("The answer is ", tail(doubleMe(myvector), 1), "\n")
```
Run Code Online (Sandbox Code Playgroud)
它会做正确的事情.您可以正式依赖第二个块中的第一个块以及更多 - 请参阅knitr docs.