[R] removing invariant columns from a matrix

Spencer Graves spencer.graves at pdf.com
Sun Aug 29 05:25:32 CEST 2004


      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" <mhassan at scitegic.com> 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]
>
>  
>




More information about the R-help mailing list