It works great, except that in the case where only one column is left, it returns a vector and the column name is lost. How can you avoid that behavior?
Thanks, - Moises -----Original Message----- From: Spencer Graves [mailto:[EMAIL PROTECTED] Sent: Saturday, August 28, 2004 8:26 PM To: Peter Dalgaard Cc: Moises Hassan; R Help Subject: Re: [R] removing invariant columns from a matrix Both the previous solutions seem to assume a numeric matrix. How about the following: A <- array(letters[c(rep(1, 13), rep(2, 13), 1:26)], dim=c(13, 5)) A[, apply(A, 2, function(x)any(x[-1] != x[-length(x)]))] A[, apply(A, 2, function(x)any(x[-1] != x[-length(x)])] enjoy. spencer graves Peter Dalgaard wrote: >"Moises Hassan" <[EMAIL PROTECTED]> writes: > > > >>I'm looking for an efficient way of removing zero-variance columns from >>a large matrix. >> >>Any suggestions? >> >> > >A[,apply(A,2,var)>0] > > > ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
