Еще один хитрый способ сделать это:
mylist.names <- c("a", "b", "c")
mylist <- NULL
mylist[mylist.names] <- list(NULL)
Это работает, потому что вы заменяете несуществующие записи, поэтому они созданы. Список (NULL), к сожалению, необходим, поскольку NULL означает УДАЛИТЬ запись:
x <- list(a=1:2, b=2:3, c=3:4)
x["a"] <- NULL # removes the "a" entry!
x["c"] <- list(NULL) # assigns NULL to "c" entry