[EMAIL PROTECTED] writes:

> The following is from version 1.6.2 of R under Windows,
> or 1.6.1 under Mac OSX/X11
> 
> > density(1)
> Error in if (!(lo <- min(hi, IQR(x)/1.34))) (lo <- hi) || (lo <- abs(x[1])) ||  : 
>         missing value where logical needed
> 
> I am not sure how this should be handled.

It comes from this bit of code:

> bw.nrd0
function (x)
{
    hi <- sd(x)
    if (!(lo <- min(hi, IQR(x)/1.34)))
        (lo <- hi) || (lo <- abs(x[1])) || (lo <- 1)
    0.9 * lo * length(x)^(-0.2)
}

in which hi is NA if x has length 1. A pragmatic way out would seem to
be to change the first line to 

hi <- if (length(x) > 1) sd(x) else 0

(and I wonder why the author didn't go all the way with the ||
sneakiness and said

    (lo <- min(hi, IQR(x)/1.34)) ||
        (lo <- hi) || (lo <- abs(x[1])) || (lo <- 1)

)


-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])             FAX: (+45) 35327907

______________________________________________
[EMAIL PROTECTED] mailing list
http://www.stat.math.ethz.ch/mailman/listinfo/r-devel

Reply via email to