[R] A stopifnot() nastiness, even if not a bug

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Mon Apr 13 01:30:09 CEST 2020

Don't know if this has come up before, but ...

> x <- c(0,0)
> length(x)
[1] 2
## but
> stopifnot(length(x))
Error: length(x) is not TRUE
Called from: top level
## but
> stopifnot(length(x) > 0)  ## not an error;  nor is
> stopifnot(as.logical(length(x)))
## Ouch!

Maybe the man page should say something about not assuming automatic
coercion to logical, which is the usual expectation. Or fix this.

Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )

More information about the R-help mailing list