Supponiamo di avere un List
in Rcpp, qui chiamato x
contenente matrici. Posso estrarre uno degli elementi usando x[0]
o qualcosa del genere. Tuttavia, come posso estrarre un elemento specifico di quella matrice? Il mio primo pensiero è stato x[0](0,0)
ma non sembra funzionare. Ho provato a utilizzare i segni *
ma non funziona.Elemento indice dalla lista in Rcpp
Ecco alcuni esempi di codice che stampa la matrice (mostra matrice può essere facilmente estratto):
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()
Come potrei cambiare la linea Rf_PrintValue(wrap(x[0]));
qui per stampare l'elemento nella prima riga e colonna? Nel codice che voglio usarlo ho bisogno di estrarre questo elemento per fare calcoli.