编织Rmarkdown区块时,不同语言(尤其是Rcpp)不打印输出
这在Rstudio中工作,我在运行区块时直接在文档中获得实时预览。然而,当我将.Rmd编织成.html时,我只得到代码的回音,没有输出编织Rmarkdown区块时,不同语言(尤其是Rcpp)不打印输出,r,knitr,r-markdown,rcpp,R,Knitr,R Markdown,Rcpp,这在Rstudio中工作,我在运行区块时直接在文档中获得实时预览。然而,当我将.Rmd编织成.html时,我只得到代码的回音,没有输出 ```{r engine='Rcpp'} #include <Rcpp.h> using namespace Rcpp; // [[Rcpp::export]] int main() { return 4; } /*** R main() */ ``` 不幸的是,注释标记(/***R*/)的执行没有得到保留,因为它的执行方式与您注意到的一样
```{r engine='Rcpp'}
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
int main() {
return 4;
}
/*** R
main()
*/
```
不幸的是,注释标记(
/***R*/
)的执行没有得到保留,因为它的执行方式与您注意到的一样。你可以说这是一个rmarkdown
小号;然而,/***R*/
更多的是用于在交互开发期间嵌入调用
另外,使用int main()
也是一个很大的禁忌
您不能只将R上下文放入独立的main()
,因为您需要R作为R上下文
因此,我选择将函数名更改为toad()
为了获得相同的结果,并且真正实现识字编程,每个部分都应该嵌入到单独的代码块中。也就是说,您必须创建一个Rcpp代码块(最好启用缓存)和一个包含实际函数调用的R代码块
e、 g
---
标题:测试文件
作者:JJB
日期:2017年6月9日
输出:html\u文档
---
```{Rcpp hpc代码,cache=TRUE}
#包括
使用名称空间Rcpp;
//[[Rcpp::导出]]
int蟾蜍(){
返回4;
}
```
```{r交互输出}
蟾蜍()
```
+1感谢您帮助我解决类似问题。显然,在<代码> {rCPP Cache=true} //CuxCube中编写C++函数的效果更好,比用“代码> { r名称、引擎=‘rCPP’} /代码>标题,然后在调用函数的另一个R块中引用<代码>名称<代码>更为干净。
```{r engine='python'}
print("abc")
```
---
title: Test Doc
author: JJB
date: 6/9/2017
output: html_document
---
```{Rcpp hpc-code, cache = TRUE}
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
int toad() {
return 4;
}
```
```{r interactive-output}
toad()
```