I am trying to map a 1D array onto 3D array using provided list of dimensions.
Here are my components:
SEXP data; // my 1D array
// I can initialise new 3D vector in the following way:
NumericVector vector(Dimension(2, 2, 2);
// or the following:
NumericVector vector(data.begin(), data.end());
What I didn’t figure out is how can I create a NumericVector that would have both my data and the desired dimensions.
It is doable, but a little painful. I guess a decent (and tested) contribution for new constructor or helper function would be appreciated.
In the meantime, you can do what the example below does. But be careful about row-major and col-major etc. Another option is RcppArmadillo which has a proper ‘Cube’ type generalizing matrices to 3-d.