假设我在Rcpp中有一个名为x的List,其中包含矩阵。我可以使用x[0]或类似的方法提取其中一个元素。但是,如何提取该矩阵的特定元素呢?我最初想到的是x[0](0,0),但似乎行不通。我尝试使用*号,但也不起作用。
下面是打印矩阵的示例代码(显示可以轻松提取矩阵):
下面是打印矩阵的示例代码(显示可以轻松提取矩阵):
library("Rcpp")
cppFunction(
includes = '
NumericMatrix RandMat(int nrow, int ncol)
{
int N = nrow * ncol;
NumericMatrix Res(nrow,ncol);
NumericVector Rands = runif(N);
for (int i = 0; i < N; i++)
{
Res[i] = Rands[i];
}
return(Res);
}',
code = '
void foo()
{
List x;
x[0] = RandMat(3,3);
Rf_PrintValue(wrap( x[0] )); // Prints first matrix in list.
}
')
foo()
我该如何修改这行代码Rf_PrintValue(wrap( x[0] ));
以打印第一行第一列的元素?在我需要使用它进行计算的代码中,我需要提取此元素。