mylist <- list(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
123, NULL, 456)
> mylist
[[1]]
NULL
[[2]]
NULL
[[3]]
NULL
[[4]]
NULL
[[5]]
NULL
[[6]]
NULL
[[7]]
NULL
[[8]]
NULL
[[9]]
NULL
[[10]]
NULL
[[11]]
[1] 123
[[12]]
NULL
[[13]]
[1] 456
В моем списке 13 элементов, 11 из которых имеют NULL. Я хотел бы удалить их, но сохранить индексы непустых элементов.
mylist2 = mylist[-which(sapply(mylist, is.null))]
> mylist2
[[1]]
[1] 123
[[2]]
[1] 456
Это удаляет элементы NULL просто отлично, но я не хочу, чтобы непустые элементы были переиндексированы, т.е. я хочу, чтобы mylist2
выглядел примерно так, где индексы непустых записей сохраняются.
> mylist2
[[11]]
[1] 123
[[13]]
[1] 456