Sto scrivendo un modulo Rcpp e vorrei restituire come un elemento del RcppResultSet un elenco i cui elementi sono vettori. Per esempio, .Call("myfunc")$foo
dovrebbe essere qualcosa di simile:Come posso creare un elenco di vettori in Rcpp?
[[1]]
[1] 1
[[2]]
[1] 1 1
[[3]]
[1] 1 1 1
(i numeri esatti non sono importanti qui). Il problema è che non conosco il giusto modo Rcpp di farlo. Ho provato a passare un vector<vector<int> >
ma questo costruisce una matrice prendendo silenziosamente la lunghezza del primo vettore come larghezza (anche se la matrice è irregolare!). Ho provato a costruire un RcppList
, ma ho difficoltà a lanciare vari oggetti (come RcppVector
) in modo sicuro in SEXP
s.
Chiunque ha suggerimenti sulle migliori pratiche per gestire strutture complicate come elenchi di vettori in Rcpp?
Freddo, grazie! Tutto funziona se ti attieni alle nuove classi di 'Rcpp :: ...'! –
Davvero freddo. Ho ancora bisogno di preparare nuove classi 'Rcpp :: Date' e' Rcpp :: Datetime' --- ma si può sicuramente vivere senza i vecchi 'RcppParams',' RcppResultSet', 'RcppVector', ... ecc. Feel libero di fornire nuovi test o esempi unitari o aggiunte ai documenti. Ci vediamo su 'rcpp-devel' quindi :) –
Mi rendi la vita più facile. Anche se sono passati alcuni giorni da quando ho imparato Rcpp, ma non riesco a immaginare di tornare al combo di R & C. –