Skip to content

[R-Forge #2296] Copy-on-:= at column level, DT[,list(...)] shallow copy and add cols to shallow(DT, cols) #617

Description

@arunsrinivasan

Submitted by: Matt Dowle; Assigned to: Nobody; R-Forge link

Export shallow().

DT2 = shallow(DT)

would add reference counter attribute. (Both DT2[1,a:=5L] AND DT[1,a:=5L] would need to copy a. Maybe the ExternalPointer destructor could decrement as well, so a rm(DT2) would automatically take DT back to being the sole copy.

Then with this in place,

DT[, cols, with=FALSE]  
# and 
DT[, list(col1,col2,...)]

could do shallow copies, too. See TO DO in source.

In the meantime, allow shallow() to accept a subset of columns and then use it in duplicated.R to save the copies of the by columns there. Upped priority for this part (easier).

Activity

  1. added this to the v1.9.6 milestone on Sep 24, 2014
  2. arunsrinivasan commented on Sep 24, 2014

    @arunsrinivasan
    MemberAuthor

    @mattdowle, the idea we recently discussed is already here (and written here in an even better fashion). Would be great to have this for next release! Also in my wish list for shallow() to accept a set of columns.. We could've shallow() and shallowv() like usual.

  3. modified the milestones: v1.9.6, v1.9.8 on Oct 10, 2014
  4. self-assigned this
    on Aug 4, 2015
  5. modified the milestones: , v1.9.8 on Apr 10, 2016
  6. removed this from the milestone on May 10, 2018
  7. added this to the 1.13.0 milestone on Sep 18, 2019
  8. modified the milestones: 1.12.7, 1.12.9 on Dec 8, 2019
  9. modified the milestones: 1.13.1, 1.13.3 on Oct 17, 2020
  10. removed this from the 1.14.1 milestone on Aug 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions