Thank you Rich. It works like a charm! Earlier I worked around by judging its determinant:

dd<-NULL
if (invH) dd<-det(obj$hessian)
if (invH & exists("dd")){
...
}

Now I do

if (!is.null(obj$hessian) & invH){
...
}

which is more direct. Thanks again.

Steven

At 01:50 AM 10/19/2014, Richard M. Heiberger wrote:
all() takes a logical argument, not numeric.  See ?all

I think you are looking for
is.null(obj$hessian)

If this isn't what you are looking for, please send a reproducible example
to the entire list.

Rich

On Sun, Oct 19, 2014 at 12:17 AM, Steven Yen <sye...@gmail.com> wrote:
> Hello
> Can someone help me with the following, specifically in judging
> whether a matrix exists. I have trouble with the first line below. In
> this case, matrix obj$hessian exists and is 74 x 74. I receive the
> error message:
>
> Warning message:
> In all(w$hessian) : coercing argument of type 'double' to logical
>
> Thank you all.
>
> ---
> if (!all(obj$hessian)|OPG){
>    vb<-obj$gradientObs; vb<-solve(t(vb)%*%vb)
>    vb.method<-"; v(b)=inv(G'G)"
> } else {
>    vb<- solve(-obj$hessian)
>    vb.method<-"; v(b)=inv(-H)"
> }
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list
> 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.

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to