Ist es möglich, eine Matrix zu durchlaufen und einige Teilmengen zu analysieren?Rcpp Loop und Subset Numerische Matrix
In R:
for(i in 10:nrow(mat)){
hist = mat[(i-5):(i),]
// Do something
}
In dem obigen Beispiel R, mir Schleifen die mat
Matrix vom 10. Reihe zu seiner letzten Reihe. Bei jeder Iteration unterteile ich die letzten 5 Observationen und tue etwas.
Ist das in Rcpp möglich? Das folgende Beispiel ist etwas, was ich versuchte ..
int n_col = sample_data.ncol();
int n_row= sample_data.nrow();
int max_lb = 10;
for(int i=(max_lb+1); i<n_row; i++) {
SubMatrix<REALSXP> res = sample_data(Range(i-max_lb,i),Range(0,n_col));
//NumericMatrix hist = res; //If this is uncommented, it fails when I run it...it pretty much just freezes after some iteration...
Rcpp::Rcout << "-----------------------------" <<std::endl;
Rcpp::Rcout << i << "\n" <<std::endl;
Rcpp::Rcout << res .nrow() <<std::endl; // Dimensions do not match what I have
Rcpp::Rcout << res .ncol() <<std::endl;
}
In der Zeile //NumericMatrix hist = res;
, ich versuche, es zu konvertieren zurück NumericMatrix zu geben, aber es funktioniert nicht.
Bitte gehen Sie in die [Rcpp Gallery] (http://gallery.rcpp.org) und schauen Sie sich das Teilbeispiel an, um diese Frage zu beantworten. Kurz gesagt: _sure! _ –