[R] Removing constants from a data frame
Kjetil Brinchmann Halvorsen
kjetil at acelerate.com
Sat Sep 18 01:17:21 CEST 2004
David Forrest wrote:
>Suppose I have
>
>x<-data.frame(v1=1:4, v2=c(2,4,NA,7), v3=rep(1,4),
> v4=LETTERS[1:4],v5=rep('Z',4))
>
>or a much larger frame, and I wish to test for and remove the constant
>numeric columns.
>
>I made:
>
> is.constant<-function(x){identical(min(x),max(x))}
>
>and
> apply(x,2,is.constant) # Works for numerics
> x[,-which(apply(x,2,is.constant))]
>
>I'd really like to be able to delete the constant columns without losing
>my non-numerics. Ignoring the character columns would be OK.
>
>Any suggestions?
>
>Dave
>
>
what about defing is.constant as
is.constant <- function(x) {
if (is.numeric(x)) identical(min(x), max(x)) else
FALSE }
Kjetil halvorsen
--
Kjetil Halvorsen.
Peace is the most effective weapon of mass construction.
-- Mahdi Elmandjra
More information about the R-help
mailing list