我正在考虑使用一些C++来使用我的R包的简单部分 Rcpp包中的.我是C++新手(但很想学习!).我已经使用优秀的实现了一些简单的cpp程序Rcpp- 实际上这个程序包激励我学习C++ ...
无论如何,我遇到了一个简单的问题,如果我可以修复它会帮助很多.我有一个NumericVector我想要子集然后排序.下面的代码对整个向量进行排序(并且还将处理NAs,这是我需要的).
我的问题是,我想要提取这个向量的一部分,排序并让它可用于其他处理 - 我该怎么做?例如,对于长度为10的向量,如何提取和排序元素5:10?
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
RcppExport SEXP rollP(SEXP x) {
NumericVector A(x); // the data
A = sort_unique(A);
return A;
}
Run Code Online (Sandbox Code Playgroud)
我从R打电话:
sourceCpp( "rollP.cpp")
rollP(10:1)
# [1] 1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud) 我有一个Rnw文件(一个大文件),我想显示附录中使用的所有代码.
在一些knitr示例(https://github.com/yihui/knitr-examples/blob/master/073-code-appendix.Rnw,也是一个优秀的MWE)中建议使用这样的代码块是办法:
<<Rcode, eval=FALSE, ref.label=all_labels()[-1],echo=TRUE, cache=FALSE>>=
@
Run Code Online (Sandbox Code Playgroud)
这工作正常,除了所有代码块相互合并且没有标记.
另一方面,如果我运行purl(myfile.Rnw),它会标记代码块并将它们分隔两行,这样可以更容易阅读.
有没有办法在报告附录中使用第二种方法自动列出代码?我知道我可以有一个代码块来运行purl来生成myfile.R作为我报告的一部分,但是如何在我的附录中显示myfile.R中的代码?
我正在研究一个两列(Rnw,乳胶)文档,其宽度非常宝贵.默认情况下,knitr将代码块缩进4个空格.如何减少此默认缩进?
非常感谢大卫