On 25-08-2012, at 02:11, Kate Dresh wrote: > *Hi all,* > > > > I'm trying to filter a file through the columns. This file below is a > example of my data frame. My true data frame has seven hundred thousand > columns and 500 hundred lines. I need to identify and to remove all columns > that all elements equal a number 1. In this my case, columns were deleted > are number 1,5 and 10. > > > > > > file <-read.table(text=" > > 1 0 2 2 1 1 5 1 1 1 > > 1 0 2 2 1 1 5 1 1 1 > > 1 0 2 2 1 2 5 2 2 1 > > 1 0 2 2 1 1 5 1 1 1 > > 1 0 2 2 1 0 5 0 2 1 > > 1 0 2 2 1 1 5 1 0 1 > > ",sep="",header=FALSE) > > > > the result after the filter will be > > > > 0 2 2 1 5 1 1 > > 0 2 2 1 5 1 1 > > 0 2 2 2 5 2 2 > > 0 2 2 1 5 1 1 > > 0 2 2 0 5 0 2 > > 0 2 2 1 5 1 0 > > > > I used this commands idlength<-sapply(file,function(x) length(unique(x)) > ), > > but came an error message: > > > > caught segfault *** > > address 0x4, cause 'memory not mapped' > >
This works for me without errors. But it won't do what you want. > > *My question: is it possible to remove the all columns from above file > to *achieve* the desired result?* Yes. For example like this k <- sapply(file,function(x) all(x==1)) file[,-which(k)] or file[,sapply(file,function(x) !all(x==1))] Berend ______________________________________________ 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.