[Rcpp-devel] Efficient DataFrame access by row & column
John Merrill
john.merrill at gmail.com
Wed Feb 20 00:46:19 CET 2013
Well, here's a snippet from a much larger routine I used deep inside an
implementation of kd-trees:
for (int i = 0; i < instances_df.size(); ++i) {
const NumericVector& data_column = instances_df[i];
for (int j = 0; j < training_instances.size(); ++j) {
// Argument order changes here...
instances[j][i] = data_column[training_instances[j]];
}
}
To set expectations, training_instances can be very large indeed (ca. 1M).
The code is quite fast.
(And sorry, Dirk -- yes, I really do have an access of the form x[i][j].
Mea culpa, etc.)
On Tue, Feb 19, 2013 at 3:26 PM, Ken Williams
<Ken.Williams at windlogics.com>wrote:
>
>
> > From: John Merrill [mailto:john.merrill at gmail.com]
> > Sent: Tuesday, February 19, 2013 5:24 PM
> > To: Ken Williams
> > Cc: Yan Zhou; Dirk Eddelbuettel; rcpp-devel at lists.r-forge.r-project.org
> > Subject: Re: [Rcpp-devel] Efficient DataFrame access by row & column
> >
> > I'm a little puzzled by your question. Could you use a reference
> instead of instantiating a new copy?
>
> I would love to use a reference, but I don't know how. That's in fact the
> essence of my question. =)
>
> Is there already some example code somewhere showing how to get reference
> to a DataFrame column without copying? I must be just missing it.
>
> -Ken
>
>
> ________________________________
>
> CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of the
> intended recipient(s) and may contain confidential and privileged
> information. Any unauthorized review, use, disclosure or distribution of
> any kind is strictly prohibited. If you are not the intended recipient,
> please contact the sender via reply e-mail and destroy all copies of the
> original message. Thank you.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130219/307f227a/attachment-0001.html>
More information about the Rcpp-devel
mailing list