[R] npudens(np) Error missing value where TRUE/FALSE needed

Jim Lemon drjimlemon at gmail.com
Sat Apr 23 01:42:07 CEST 2016


Hi Carolien,
There was a recent request involving a change in the functionality of
R that may be relevant to your problem. The usual trigger for the
"missing value where TRUE/FALSE needed" error is a conditional
expression that doesn't evaluate because of an NA value. As some
coercion or summary functions that worked in older versions of R but
have been deprecated in more recent ones, your code may be generating
NA values at some point where it did not before.

Jim


On Fri, Apr 22, 2016 at 7:15 PM, carolien lavigne
<carolienlavigne at hotmail.com> wrote:
> Hi,
>
>
>
> I am looking for some help concerning the npudens function
> in the np package.
>
> I am trying to find a kernel density function of a
> multivariate dataset and the density evaluated at each of the 176 points.
>
> I have 2 continuous and 3 ordered discrete variables. My
> sample size is 176.
>
> So edata is a 176x(2+3) data frame, while tdat is a 1x(2+3)
> vector.
>
> bw_cx[i,] is a 1x (2+3) vector representing the bandwidths h for each variable, which were calculated using the npcdensbw function. (no this is not a mistake, I deliberately use the conditional one)
>
> For this I use the below function in R.
>
>  kerz <-
> npudens(bws=(bw_cx[i,]),cykertype="epanechnikov",cxkertype="epanechnikov",oxkertype="liracine",tdat=tdata,edat=dat)
>
> In version 2.15.2, this worked fine, as I was able to
> retrieve the necessary density estimates with kerz$dens.
>
> This version was installed on a very old (read very slow and
> about to crash) computer.
>
> I recently installed version 3.2.4 on my new computer, and
> now I get the following error message when I try to execute the npudens
> function:
>
>
>
> Error in if (any(a <= 0)) warning(paste("variable
> ", which(a <= 0), " appears to be constant",  :
>
>   missing value where
> TRUE/FALSE needed
>
>
>
> I suppose some if-statement doesn’t evaluate to a TRUE or
> FALSE somewhere in the npudens function.
>
> But as I am not an expert in writing functions, this error
> message doesn’t really help.Changing it to the following also doesn't help: kerz <- npudens(bws=(bw_cx[i,]),ckertype="epanechnikov",,okertype="liracine",tdat=tdata,edat=dat)
>
>
>
> Am I doing something wrong here?
>
> Were some changes made to this function and
> do I need to alter some arguments to these changes?
>
> Or might this be a bug?
>
>
>
> Thanks!
>
>
>
> Carolien
>         [[alternative HTML version deleted]]
>
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list