Tiago, Assuming the column in x is sorted:
t = which(duplicated(x[, 1])) x[sort(union(t-1, t)),] or, if not sorted: t = which(duplicated(sort(x[, 1]))) x[sort(union(t-1, t)),] Rob On Mar 17, 2005, at 6:11 PM, Tiago R Magalhaes wrote: > Hi > > I want to extract all the rows in a data frame that have duplicates > for a given column. > I would expect this question to come up pretty often but I have > researched the archives and surprisingly couldn't find anything. > The best I can come up with is: > > x <- data.frame(a=c(1,2,2,3,3,3), b=10) > xdup1 <- duplicated(x[,1]) > xdup2 <- duplicated(x[,1][nrow(x):1])[nrow(x):1] > xAllDups <- x[(xdup1+xdup2)!=0,] > > This seems to work, but it's so convoluted that I'm sure there's a > better method. > Thanks for any help and enlightenment > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html [[alternative text/enriched version deleted]] ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html