J'écris un module CRPP un voudrais revenir comme un élément de la liste RcppResultSet une liste dont les éléments sont des vecteurs. Par exemple, .Call("myfunc")$foo
devrait être quelque chose comme:Comment créer une liste de vecteurs dans Rcpp?
[[1]]
[1] 1
[[2]]
[1] 1 1
[[3]]
[1] 1 1 1
(les chiffres exacts ne sont pas importants ici). Le problème est que je ne connais pas la bonne façon Rcpp de le faire. J'ai essayé de passer un vector<vector<int> >
mais ceci construit une matrice en prenant silencieusement la longueur du premier vecteur comme largeur (même si la matrice est en lambeaux!). Je l'ai essayé la construction d'un RcppList
mais ont du mal à jeter divers objets (comme RcppVector
) en toute sécurité dans SEXP
s.
Quelqu'un a des conseils sur les meilleures pratiques pour faire face à des structures complexes telles que les listes de vecteurs dans CRPP?
Cool, merci! Tout fonctionne si vous vous en tenez aux nouvelles classes 'Rcpp :: ...'! –
Cool en effet. Je dois encore concocter de nouvelles classes 'CRPP :: Date' et' CRPP :: DateTime' --- mais vous pouvez certainement vivre sans le vieux 'RcppParams',' RcppResultSet', 'RcppVector', etc ... Sentez-vous libre de contribuer de nouveaux tests unitaires ou des exemples, ou des ajouts aux docs. Rendez-vous sur 'rcpp-devel' alors :) –
Vous me simplifie la vie. Bien que cela fait quelques jours que j'ai appris Rcpp mais je ne peux pas m'imaginer retourner à la combo de R & C. –