zap2008
zap2008

Reputation: 684

How to create a data-driven list of lists in R

The code below does exactly what I need, but there has to be a better way to do this. I need to create a list of lists with titles so that I can subset like this: position.list[["a.com"]]

There has to be a way to do this more efficiently, as what I have below is pretty horrendous. I saw several similar topics, but none seemed to do exactly what I need... I apologize if this has been answered before.

website.vec <- c("a.com", "b.com", "c.com")
position.list <- vector(len = length(website.vec))
position.list <- setNames(as.list(position.list), website.vec)
for (i in 1:length(position.list)) {
  position.list[[i]] <- list()
}

Upvotes: 0

Views: 32

Answers (1)

Ricardo Saporta
Ricardo Saporta

Reputation: 55360

Option 1:

setNames(replicate(length(website.vec), list(), simplify=FALSE), website.vec)

Option 2:

lapply(setNames(nm=website.vec), function(x) list())

Upvotes: 2

Related Questions