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 missingtst1(,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