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.
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"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With