On Thu, Mar 26, 2009 at 12:15 PM, Duijvesteijn, Naomi <naomi.duijveste...@ipg.nl> wrote: > > Hi Readers, > > > I have a question. > > > I have a large dataset and want to throw away columns that have the same > value in the column itself and I want to know which column this was. > > > For example > > > x<-data.frame(id=c(1,2,3), snp1=c("A","G", > "G"),snp2=c("G","G","G"),snp3=c("G","G","A")) > > > x > > id snp1 snp2 snp3 > > 1 1 A G G > > 2 2 G G G > > 3 3 G G A > > > Now I want to know that snp2 in monomorphic (the same value for the column) > and after I know which column it is I want to take these columns out. > > > Thanks, > > Naomi >
Another, perhaps slightly more intuitive solution than Jim's would be the following: x<-data.frame(id=c(1,2,3), snp1=c("A","G", "G"),snp2=c("G","G","G"),snp3=c("G","G","A")) is.monovalued<-function(df){ sapply(df,function(x){ length(unique(x))==1 }) } monovaluedCols<-is.monovalued(x) which(monovaluedCols) x[!monovaluedCols] /Gustaf -- Gustaf Rydevik, M.Sci. tel: +46(0)703 051 451 address:Essingetorget 40,112 66 Stockholm, SE skype:gustaf_rydevik ______________________________________________ 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.