See question 7.7 in the R FAQ (http://cran.r-project.org/doc/FAQ/R-FAQ.html)

-roger

Moises Hassan wrote:
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


______________________________________________ [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

Reply via email to