[R] is.constant

Christian Hoffmann christian.hoffmann at wsl.ch
Wed Sep 22 11:53:27 CEST 2004


>>x <- c(1, 2, NA)
>>is.constant(x)
> 
> [1] TRUE
> 
> For data such as c(1, 1, 1, NA), I should think the safest answer should be
> NA, because one really doesn't know whether that last number is 1 or not.
> 
> Andy
>  
My version is
is.constant <-  function(x) {
   if (is.numeric(x) & !any(is.na(x)))  identical(min(x), max(x)) else FALSE
}

rendering
 > is.constant(c(1,1,NA))
[1] FALSE
 > is.constant(c(1,1,NaN))
[1] FALSE
 > is.constant(rep(c(sin(pi/2),1),10)) # TRUE
[1] TRUE
-- 
Dr.sc.math.Christian W. Hoffmann, 
http://www.wsl.ch/staff/christian.hoffmann
Mathematics + Statistical Computing   e-mail: christian.hoffmann at wsl.ch
Swiss Federal Research Institute WSL  Tel: ++41-44-73922-   -77  (office)
CH-8903 Birmensdorf, Switzerland             -11(exchange), -15  (fax)




More information about the R-help mailing list