You can replace the "x" with substitute():
var = substitute()
var
#Error: argument "var" is missing, with no default
And, although it’s safer to use x = substitute(), yours make_missingmight look something like this:
make_missing = function(x) assign(deparse(substitute(x)),
substitute(),
envir = parent.frame())
And your "f":
f = function(x)
{
if(missing(x)) message("missing") else message("not missing")
make_missing(x)
if(missing(x)) message("missing") else message("not missing")
}
f()
f(7)
source
share