Thanks for that Dirk.

First comment: unless I'm mistaken there sounds like there could be significant 
overlap with the
thread 
http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2012-May/003802.html 
where
the comment came:



"What we...need is to be able to

   

1.  access the value of an Rcpp list entry by name.
   

2.  recover the basic type, integer or floating point
  

   3.  recover the dimensions
   

4.  recover the values as a vector"



This feels almost the same as what I'm asking, in terms of getting information 
effectively from the
data frame...

Initially the situation struck me as very curious. You've gone to the trouble 
of passing a data frame
over to C++, and it's sat there with all the column names available, and all 
the data in it, and
presumably also all the data types. But you can't directly access the data. Ok, 
you've made me
accept this (however bizarre it may seem). So now I'm thinking: what is the 
best strategy to
get at the data in the general case?

Perhaps let me rephrase things as broadly as possible: what would be the best 
strategy to generate
from that data frame a collection of named objects that you CAN access? Let's 
say the notation
or object type is completely irrelevant to me - but somehow, I want to be able 
to access whatever was
in my "dragonCount" column using - in some way - the name "dragonCount" (not a 
column number).

Obviously, one strategy is to manually define individual vectors, one at a 
time, for each column in
the data frame. This is what I did in my example. But this doesn't seem like it 
should be the best
or most intelligent way. If there's 200 columns, that process requires 200 
lines and looks pretty 
horrendous. Even a n00b like me knows that's not how code should look.

So, even if the original Rcpp::DataFrame object doesn't permit access, surely 
there's some way 
of solving the general case by setting up an object in C++ (vector of vectors?) 
and populating
it systematically from the DF object? Maybe by looping over the names in the DF 
object and adding
in the vectors one by one? I'm an R coder rather than a C++ coder so I'm coming 
to you fellows
cap in hand, asking whether this is possible.

I'm not asking for Rcpp to do this automatically - I'm simply asking how one 
should approach the
problem. Coming from the R side, I also genuinely think anyone who wishes to 
use Rcpp with large
data frames will be extremely interested in the answer.

Cheers for now,
Tim P

                                          
_______________________________________________
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