library(data.table)
DT <- data.frame(matrix(nrow = 5000000, ncol = 10))
DT <- setDT(DT)
DT[is.na(DT)] <- 1
colnames(DT) <- paste(colnames(DT), "xx", sep = "")
kept <- 1:4000000
DT_sub <- DTsubsample(DT, sample(5e6, 4e6, FALSE), collect = 5, silent = TRUE)
#DT_sub <- DT[sample(5e6, 4e6, FALSE), ] #works good
DT_sub <- DTsubsample(DT, sample(4e6, 3e6, FALSE), low_mem = TRUE, collect = 5, silent = TRUE)
Run the code above in your browser using DataLab