Question about the R package data.table: how are multiple data.table columns removed in a memory-efficient way?
Suppose the column names to be deleted are stored in the vector deleteCol.
In a data.frame, it is:
DF <- DF[deleteCol] <- list()
For data.table, I tried:
DT[, deleteCol, with=FALSE] <- list()
but this gave unused argument(s) (with = FALSE)
Right-click in a table cell, row, or column you want to delete. On the Mini toolbar, click Delete. Choose Delete Cells, Delete Columns, or Delete Rows.
We can delete multiple columns in the R dataframe by assigning null values through the list() function.
Drop Columns by Name Using %in% Operator We are using the %in% operator to drop or delete the columns by name from the R data frame, This operator will select the columns by name present in the list or vector.
ok here are a few options. The last one seems exactly what you want...
x<-1:5
y<-1:5
z<-1:5
xy<-data.table(x,y,z)
NEWxy<-subset(xy, select = -c(x,y) ) #removes column x and y
and
id<-c("x","y")
newxy<-xy[, id, with=FALSE]
newxy #gives just x and y e.g.
# x y
#[1,] 1 1
#[2,] 2 2
#[3,] 3 3
#[4,] 4 4
#[5,] 5 5
and finally what you really want:
anotherxy<-xy[,id:=NULL,with=FALSE] # removes comuns x and y that are in id
# z
#[1,] 1
#[2,] 2
#[3,] 3
#[4,] 4
#[5,] 5
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With