альтернатива “! is.null ()” в R

мой код R заканчивает тем, что содержал изобилие операторов формы:

if (!is.null(aVariable)) { 
     do whatever 
}

Но этот вид оператора трудно считать, потому что он содержит два отрицания. Я предпочел бы что-то как:

 if (is.defined(aVariable)) { 
      do whatever 
 }

Делает a is.defined введите функцию, которая делает противоположность! is.null существуют стандарт в R?

аплодисменты, yannick

53
задан Yannick Wurm 31 January 2010 в 23:54
поделиться

3 ответа

Вы можете быть лучше отработаны, какая ценность типа ваша функция или код принимает, и спрашивая о том, что:

if (is.integer(aVariable))
{
  do whatever
}

Это может быть улучшение по износчикам, поскольку он обеспечивает проверку типа. С другой стороны, это может уменьшить добычу вашего кода.

Альтернативно, просто сделайте функцию, которую вы хотите:

is.defined = function(x)!is.null(x)
33
ответ дан 7 November 2019 в 08:50
поделиться

Если это просто вопрос простого чтения, вы всегда можете определить свою собственную функцию:

is.not.null <- function(x) !is.null(x)

, чтобы вы могли использовать все это вдоль вашей программы.

is.not.null(3)
is.not.null(NULL)
16
ответ дан 7 November 2019 в 08:50
поделиться

IAN положить это в комментарий, но Я думаю, что это хороший ответ:

if (exists("aVariable"))
{
  do whatever
}

Обратите внимание, что имя переменной цитируется.

9
ответ дан 7 November 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: