As I understand it, you are trying to subset the data frame to include only rows with a non-unique id. Try this: x <- data.frame(cbind(id=c(1,2,2,2,3,3,4,5,6,6), value=1:10)) id.table <- table(x$id) x_new <- subset(x, id %in% id.table[id.table > 1]) Jeremy