appending to a list with dynamic names
append, list, names, r
Solution
You could just use indexing with double brackets. Either of the following methods should work.
a <- list(n1 = "hi", n2 = "hello")
val <- "another name"
a[[val]] <- "hola"
a
#$n1
#[1] "hi"
#
#$n2
#[1] "hello"
#
#$`another name`
#[1] "hola"
a[[paste("blah", "ok", sep = "_")]] <- "hey"
a
#$n1
#[1] "hi"
#
#$n2
#[1] "hello"
#
#$`another name`
#[1] "hola"
#
#$blah_ok
#[1] "hey"
Problem
I have a list in R: ``` a <- list(n1 = "hi", n2 = "hello") ``` I would like to append to this named list but the names must be dynamic. That is, they are created from a string (for example: `paste("another","name",sep="_")` I tried doing this, which does not work: ``` c(a, parse(text="paste(\"another\",\"name\",sep=\"_\")=\"hola\"") ``` What is the correct way to do this? The end goal is just to append to this list and choose my names dynamically.