c – 擦除矩阵元素并在rcpp中给它新的大小和元素

R中的例子:

A: a = matrix(1:100,10,10)

B: a = matrix(1:9,3,3)

C: a = matrix(1:400,20,20)

这个简单示例的等效rcpp代码是什么?

a始终是一个具有可变内容和大小的变量.

在A中,我使用此rcpp代码创建了矩阵a:

NumericMatrix a(10,10)

并填写从1到100的数字序列.
我想用这样的命令调整此矩阵的大小:

a(3,3)

要么

a(20,20) 

并将1至9或1至400放入其中.

最佳答案 RcppArmadillo可以解决这个问题:

arma::mat m1 = arma::eye<arma::mat>( 10, 10 ) ;

m1.set_size(20,20);
m1.set_size(3,3);

我不知道rcpp是否可行.

点赞