Информация о недостающих аргументах в внутренних устройствах R: Missingness.
Мне интересно, есть ли способ установить (переписать) аргумент функции на R_MissingArg
внутри этой функции?
Вид:Недостаточность аргумента силы R - R_MissingArg
f <- function(x){
if(!missing(x)) message("x non missing")
make_missing(x)
if(missing(x)) message("x missing")
invisible()
}
Я понимаю, это не может быть рекомендуемым способом, и я, вероятно, следует использовать x <- NULL
и is.null(x)
вместо проверки missingness.
Уточнить, почему вы хотите сделать это? Я предполагаю, что это происходит потому, что вы пытаетесь передать его другой функции, которая по умолчанию вам нужна, поэтому вы хотите, чтобы она отсутствовала (в противном случае, если вы просто используете ее в теле функции, вы просто выполните: isMissing = (x) и использовать этот флаг. Если вы хотите использовать по умолчанию для последующего вызова, вам, вероятно, потребуется вручную настроить вызов с помощью таких функций, как args() <-. – jimmyb
Я не вижу контекста, который оправдывает использование 'make_missing (x)' вместо 'x <- NULL' в производственном коде. Но у меня есть некоторый код для работы, который довольно длинный и существует несколько проверок' missing (x) ', это будет удобно, чтобы не обновлять все эти проверки до 'is.null (x)' только для проверки некоторой новой вещи. – jangorecki
Возможно, вы могли бы использовать 'x <- substitute()': 'f = function (x) {x = substitute (x)); missing (x)}; f (5) ' –