varias una tablas matrices listas lista graficas elementos data crear creacion agregar r s-plus

una - tablas en r



¿Cómo crear una lista con nombres pero sin entradas en R/Splus? (3)

Lo haría así:

mylist.names <- c("a", "b", "c") mylist <- vector("list", length(mylist.names)) names(mylist) <- mylist.names

Me gustaría configurar una lista con las entradas con nombre cuyos valores se dejan sin inicializar (planeo agregarles cosas más tarde). ¿Cómo hace la gente en general? Hice:

mylist.names <- c("a", "b", "c") mylist <- as.list(rep(NA, length(mylist.names))) names(mylist) <- mylist.names

pero esto parece un poco hacky. Tiene que haber una forma más estándar de hacer esto ... ¿verdad?


Otra forma complicada de hacerlo:

mylist.names <- c("a", "b", "c") mylist <- NULL mylist[mylist.names] <- list(NULL)

Esto funciona porque reemplazas las entradas no existentes para que se creen. La lista (NULL) es lamentablemente necesaria, ya que NULL significa QUITAR una entrada:

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


Una versión un poco más corta que Thilo :)

mylist <- sapply(mylist.names,function(x) NULL)