Я хотел бы оценить две разные переменные, используя is.null
:
a<-c(1,2)
b<-NULL
sapply(c(a,b),is.null)
Однако я получил предупреждение о том, что условие имеет length > 1
и будет использоваться только первый элемент. Результат, который я получил, показал это, поскольку он оценивал только FALSE, FALSE
, а не FALSE, FALSE, TRUE
.
Как я могу успешно запустить функцию is.null
для нескольких переменных?
Здесь проблема в том, что NULL
не может существовать в векторе. Когда мы делаем c
, мы объединяем один вектор с другим, и любые NULL
элементы, присутствующие в одном векторе, теряются. Вместо этого поместите его в list
sapply(c(a, list(b)), is.null)
c(a, b)
, удаляет NULL. НоNULL
может существовать как элементlist
.c(a, list(b))
, с этим вы можете получитьsapply(c(a, list(b)), is.null)# [1] FALSE FALSE TRUE