Here's a really bare-bones version. Not very pretty or complete, but it
does do the job. Could the 'unlist' part be converted to Rcpp?

THK

library(Rcpp)

code = '
SEXP test(List a)
{
  int l = Rf_length(a[0]);
  typedef std::vector<SEXP> svec;
  std::vector<svec> x(l);
  for (int i = 0; i != l; ++i)
    for (int j = 0; j != a.size(); ++j)
    {
      List b = a[j];
      x[i].push_back(b[i]);
    }
  return wrap(x);
}'

f = cppFunction(code = code)

res = lapply(f(list(list(1, 'a'), list(2, 'b'))), unlist)


On Sat, May 2, 2015 at 1:18 PM, Dirk Eddelbuettel <e...@debian.org> wrote:

>
> On 2 May 2015 at 10:49, William Dunlap wrote:
> | Since translation from R to Rcpp is "seamless" I will leave that to you.
>
> One problem is with the strongly typed nature of C++.  Rearranging
> dynamicly
> growing objects can be done.  I think I used Boost's variant type a few
> years.  I am sure there are other possibilities.  We should collect a few
> and
> compare.   But in C++ please :)
>
> Dirk
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
>



-- 
http://www.keittlab.org/
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to