パッケージを使用して、Rパッケージの単純な部分にC++を使用することを検討していRcpp
ます。私はC++の初心者です(しかし、学びたいと思っています!)。私は優れたものを使用していくつかの単純なcppプログラムを実装しましたRcpp
-実際、パッケージは私にC++を学ぶ動機を与えました...
とにかく、私は単純な問題で立ち往生しています。私が修正できれば、それは大いに役立つでしょう。NumericVector
サブセット化してから並べ替えたいものがあります。以下のコードは、ベクトル全体をソートします(そして、NAも処理します。これは私が必要としているものです)。
私の質問は、このベクトルの一部を抽出し、並べ替えて他の処理に使用できるようにしたいということです-どうすればよいですか?たとえば、長さが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;
}
私はRからこれを呼び出します:
sourceCpp( "rollP.cpp")
rollP(10:1)
# [1] 1 2 3 4 5 6 7 8 9 10