You could also use: indx<-with(x,(1+2*(a!=-1)+4*(b!=-1)+8*(c!=-1)+16*(d!=-1)+32*(e!=-1))) x[indx==max(indx),] # a b c d e #3 2 3 3 4 3 #5 4 5 5 6 4
#Speed comparisons: set.seed(548) x1<- as.data.frame(matrix(sample(c(-1,1:10),5*1e6,replace=TRUE),ncol=5)) system.time({ index <- apply(x1, 1, function (x) { !(c(-1) %in% x)}) res1<-x1[index, ] }) # user system elapsed # 11.252 0.028 11.304 system.time({res2<- x1[rowSums(!x1==-1)==ncol(x1),]}) # user system elapsed # 0.340 0.004 0.342 identical(res1,res2) #[1] TRUE system.time({ indx<-with(x1,(1+2*(V1!=-1)+4*(V2!=-1)+8*(V3!=-1)+16*(V4!=-1)+32*(V5!=-1))) res3<-x1[indx==max(indx),] }) # user system elapsed # 0.268 0.008 0.274 identical(res1,res3) #[1] TRUE A.K. ----- Original Message ----- From: arun <smartpink...@yahoo.com> To: Dimitri Liakhovitski <dimitri.liakhovit...@gmail.com> Cc: R help <r-help@r-project.org> Sent: Tuesday, July 30, 2013 10:30 AM Subject: Re: [R] Select only rows that don't contain one number x[rowSums(!x<0)==ncol(x),] #if you don't want x<0 # a b c d e #3 2 3 3 4 3 #5 4 5 5 6 4 #or x[rowSums(!x==-1)==ncol(x),] # a b c d e #3 2 3 3 4 3 #5 4 5 5 6 4 A.K. ----- Original Message ----- From: Dimitri Liakhovitski <dimitri.liakhovit...@gmail.com> To: r-help <r-help@r-project.org> Cc: Sent: Tuesday, July 30, 2013 10:06 AM Subject: [R] Select only rows that don't contain one number Hello! I have a data frame: x<-data.frame(a=c(-1,1,2,3,4),b=c(1,-1,3,4,5),c=1:5,d=2:6,e=c(1,2,3,-1,4)) x How can I grab only those rows that don't contain any -1s (no matter in what columns? Without writing a loop. In other words, I want my output to contain only rows 3 and 5 of x. Thank you very much! [[alternative HTML version deleted]] ______________________________________________ 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. ______________________________________________ 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.