В R, если у нас есть матрица данных, например, матрица 100 на 10 и вектор 100 элементов t с возможными значениями (0, 1, 2, 3), мы можем легко найти подматрицу y из X используя простой синтаксис:
y = X[t == 1, ]
Но проблема в том, как я могу это сделать с помощью Rcpp NumericMatrix?
(Или, в общем, как я могу это сделать на С++ в каких-либо контейнерах?)
Благодаря подсказке Dirk кажется, что
NumericMatrix X(dataX);
IntegerVector T(dataT);
mat Xmat(X.begin(), X.nrow(), X.ncol(), false);
vec tIdx(T.begin(), T.size(), false);
mat y = X.rows(find(tIdx == 1));
Можете делать то, что я хочу, но это кажется слишком длинным.