Re: [R] Removing rows in dataframe w'o duplicated values

2011-11-22 Thread David Winsemius
On Nov 22, 2011, at 12:43 PM, AC Del Re wrote: Hi, Is there an easy way to remove dataframe rows without duplicated values of a specified column ('id')? e.g., dat <- data.frame(id = c(1,1,1,2,3,3), value = c(5,6,7,4,5,4), value2 = c(1,4,3,3,4,3)) dat id value value2 1 1 5 1

Re: [R] Removing rows in dataframe w'o duplicated values

2011-11-22 Thread Dimitris Rizopoulos
one approach is the following: dat <- data.frame(id = c(1,1,1,2,3,3), value = c(5,6,7,4,5,4), value2 = c(1,4,3,3,4,3)) ind <- ave(dat$id, dat$id, FUN = length) > 1 dat[ind, ] I hope it helps. Best, Dimitris On 11/22/2011 6:43 PM, AC Del Re wrote: Hi, Is there an easy way to remove dat

Re: [R] Removing rows in dataframe w'o duplicated values

2011-11-22 Thread Dennis Murphy
Sorry, you need this first: L <- split(dat, dat$id) do.call(rbind, lapply(L, function(d) if(nrow(d) > 1) return(d))) D. On Tue, Nov 22, 2011 at 10:38 AM, Dennis Murphy wrote: > Hi: > > Here's one way: > > do.call(rbind, lapply(L, function(d) if(nrow(d) > 1) return(d))) >    id value value2 > 1.

Re: [R] Removing rows in dataframe w'o duplicated values

2011-11-22 Thread Dennis Murphy
Hi: Here's one way: do.call(rbind, lapply(L, function(d) if(nrow(d) > 1) return(d))) id value value2 1.1 1 5 1 1.2 1 6 4 1.3 1 7 3 3.5 3 5 4 3.6 3 4 3 HTH, Dennis On Tue, Nov 22, 2011 at 9:43 AM, AC Del Re wrote: > Hi, > > Is there an easy

Re: [R] Removing rows in dataframe w'o duplicated values

2011-11-22 Thread B77S
This is ugly, but it gets what you want. dat[which(dat[,1] %in% unique((dat[duplicated(dat[,1], fromLast = T), 1]))),] AC Del Re wrote > > Hi, > > Is there an easy way to remove dataframe rows without duplicated values of > a specified column ('id')? e.g., > > dat <- data.frame(id = c(1

[R] Removing rows in dataframe w'o duplicated values

2011-11-22 Thread AC Del Re
Hi, Is there an easy way to remove dataframe rows without duplicated values of a specified column ('id')? e.g., dat <- data.frame(id = c(1,1,1,2,3,3), value = c(5,6,7,4,5,4), value2 = c(1,4,3,3,4,3)) dat id value value2 1 1 5 1 2 1 6 4 3 1 7 3 4 2 4 3 5