DT = data.frame(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9, w=3:11, z=LETTERS[1:9])
If I understand you right, and you want to select all rows where v>3 and W<10 with(DT, DT[which(v>3 & w<10),]) x y v w z 4 b 1 4 6 D 5 b 3 5 7 E 6 b 6 6 8 F 7 c 1 7 9 G you can use colSums, rowSums on this, but after removing the categorical columns Anto -- View this message in context: http://r.789695.n4.nabble.com/Subsetting-columns-in-data-table-tp4652048p4652049.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.