[Rcpp-devel] Construct data.table object at the C++ level ?
Dirk Eddelbuettel
edd at debian.org
Sat Nov 4 21:22:42 CET 2017
On 2 November 2017 at 23:24, Dirk Eddelbuettel wrote:
|
| On 2 November 2017 at 15:36, Matt Dowle wrote:
| | I replied in the issue.
|
| So did I, now that I am back online after a company event.
|
| I'll fill a simple concrete event: constructing a DT from a DF and then using
| nanotime to construct sane nanotime/bit64 objects. All fine and trivial,
| but would be nicer to do this -- and more -- and the C++ level.
Ok, the 'create a nanotime vector from int64_t' part is now sorted out [1],
and it trivially becomes a column in a data.frame and hence ...
|
| | I don't know what you're asking for here. A data.table is a list of
| | same-length vectors, so it's almost trivial to create. Then just add the
|
| We understand that part.
|
| We are less sure about to get to the bits that are not data.frame, and how to
| do so at the C level.
... in a data.table. But I still call setDT() via Rcpp::Function. I'll see
if I can play fast and loose and just set that S3 attribute directly.
I'll try to remind myself to write a Rcpp Gallery piece once I have all the
pieces. Having data.table objects with nanosecond-resolution time is pretty
slick.
Dirk
[1] Mostly, still uses one call via Rcpp::Function() to create the S4 object
which we may be able to amortise, but that may not really matter.
| Dirk
|
| | attributes which setDT() does from R level, and trace that through to see
| | what it does. I don't really get what you're asking for as on the face of
| | it it's simple. I had asked in the issue about whether it's the recycling
| | you need but I'm not clear.
| |
| | On Thu, Nov 2, 2017 at 2:35 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
| |
| | >
| | > Does anybody have any (public) code constructing data.table objects?
| | >
| | > I can of course do as we do for data.frame, which is (essentially)
| | > constructing a List and setting a class attribute at end. But I gather
| | > someone may have done something somewhere already? C code works too,
| | > making
| | > it shorter always works...
| | >
| | > Dirk
| | >
| | > PS Long-parked related wishlist ticket is at
| | > https://github.com/Rdatatable/data.table/issues/1694
| | >
| | > --
| | > http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
| | >
|
| --
| http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the Rcpp-devel
mailing list