missingCh function

Has a Formal Argument been Set or is it Missing?

Has a Formal Argument been Set or is it Missing?

missingCh can be used to test whether a value was specified as an argument to a function. Very much related to the standard

function missing, here the argument is given by its name, a character string.

As missingCh() calls missing(), do consider the caveats about the latter, see missing.

missingCh(x, envir = parent.frame())

Arguments

  • x: a character string.
  • envir: a (function evaluation) environment, in which the variable named x is to be missing .

Returns

a logical indicating if the argument named x is missing in the function above , typically the caller of missingCh, but see the use of envir in the vapply example.

Author(s)

Martin Maechler

See Also

missing

Examples

tst1 <- function(a, b, dd, ...) ## does not work an with argument named 'c' ! c(b = missingCh("b"), dd = missingCh("dd")) tst1(2)#-> both 'b' and 'dd' are missing tst1(,3,,3) ## b dd ## FALSE TRUE -- as 'b' is not missing but 'dd' is. Tst <- function(a,b,cc,dd,EEE, ...) vapply(c("a","b","cc","dd","EEE"), missingCh, NA, envir=environment()) Tst() ## TRUE ... TRUE -- as all are missing() Tst(1,,3) ## a b cc dd EEE ## FALSE TRUE FALSE TRUE TRUE ## ..... ..... ## as 'a' and 'cc' where not missing() ## Formal testing: stopifnot(tst1(), !tst1(,3,3), Tst(), Tst(1,,3, b=2, E="bar") == c(0,0,1,0,0)) ## maybe surprising that this ^^ becomes 'dd' and only 'cc' is missing
  • Maintainer: Martin Maechler
  • License: GPL (>= 2)
  • Last published: 2024-11-05