Назначение члена списка в NULL - это стандартный способ удаления элементов списка. Для именованных списков это может быть самый простой способ сделать это. например,
myList <- list(a = list(x = 1, y = 2), b = list(d = 3, e = 4))
myList$a$y <- NULL
myList$b <- NULL
myList[["a"]] <- NULL
Он также работает с data.frames (это просто особый тип списка).
Иногда это может привести к путанице. Например:
x <- as.list(LETTERS[1:10])
fn <- function(y) if(y == 7) NULL else y
for (i in 1:10) x[[i]] <- fn(i)
Ожидаемое содержимое x[[7]]
может быть NULL
, но на самом деле это "H". Присвоение NULL
x[[7]]
удаляет члена списка, сдвигая x[[8]]
вниз.