[R] removing invariant columns from a matrix
Roger D. Peng
rpeng at jhsph.edu
Mon Aug 30 00:07:48 CEST 2004
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:spencer.graves at pdf.com]
> 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" <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]
>>
>>
>>
>
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
More information about the R-help
mailing list