[Rcpp-devel] data frame construction error

Robin Aly r.aly at ewi.utwente.nl
Fri Mar 4 11:07:56 CET 2011


Hi Dirk,

thanks for the quick answer! I now use a list and it works like a charm.

Thanks a lot!
Robin

On 03/03/2011 06:10 PM, Dirk Eddelbuettel wrote:
> Hi Robin,
>
> On 3 March 2011 at 17:22, Robin Aly wrote:
> | Hi,
> |
> | I am building a Rcpp wrapper for the Information Retrieval package Lemur.
> |
> | For this, I need to construct a data frame of a dynamic number of columns.
> |
> | In my code, I do the following (condensed view):
> |
> |      SEXP result=R_NilValue;
> |      std::vector<std::vector<COUNT_T>*>  tfs(iters.size());
> |      tfs[i] is a numeric vector N elementer
> |      for (int i=iters.size()-1;i>=0;i--) {
> |          result=grow(_[tstem] = *tfs[i],result);
> |      }
> |
> |      result=grow(_["DOCID"] = did,result);
> |
> |      DataFrame res(::Rf_lcons( ::Rf_install( "data.frame"), result));
>
> That is somewhat unusual usage.
>
> You should not have to resort to Rf_lcons and Rf_install at the user level.
>
> | Suppose now, both did and tfs[i] have N entries. Now if I select data
> | such that N is small than 10000 everything works. However if I choose
> | N bigger, I get the following error message.
> |
> | terminate called after throwing an instance of 'Rcpp::not_compatible'
> |    what():  could not convert using R function : as.data.frame
> | Aborted
> |
> | I tried a lot of debugging and I don't find any structural differences
> | with the
> | additional data.
>
> Can you provide a reproducible (mock) example?  There is no built-in size
> limit you should hit apart from whatever limits your available ram imposes
> etc.
>
> I have written code which returns data frame objects with a variable number
> of columns and don't see how how any set size should matter.
>
> You can also try a list type first if you find that easier and call
> as.data.frame() once in R.
>
> Dirk
>
> | Would be great, if someone has an idea.
> | Robin
> | _______________________________________________
> | Rcpp-devel mailing list
> | Rcpp-devel at lists.r-forge.r-project.org
> | https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
>


More information about the Rcpp-devel mailing list