R 附加到具有动态名称的列表

R 附加到具有动态名称的列表,r,list,append,names,R,List,Append,Names,我在R中有一个列表: a <- list(n1 = "hi", n2 = "hello") 正确的方法是什么?最终的目标只是附加到此列表并动态选择我的名字。您可以使用带双括号的索引。以下任何一种方法都应该有效 a <- list(n1 = "hi", n2 = "hello") val <- "another name" a[[val]] <- "hola" a #$n1 #[1] "hi" # #$n2 #[1] "hello" # #$`another name`

我在R中有一个列表:

a <- list(n1 = "hi", n2 = "hello")

正确的方法是什么?最终的目标只是附加到此列表并动态选择我的名字。

您可以使用带双括号的索引。以下任何一种方法都应该有效

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"

a您可以使用
setNames
动态设置名称:

a <- list(n1 = "hi", n2 = "hello")
c(a,setNames(list("hola"),paste("another","name",sep="_")))
a <- list(n1 = "hi", n2 = "hello")
c(a,setNames(list("hola"),paste("another","name",sep="_")))
$n1
[1] "hi"

$n2
[1] "hello"

$another_name
[1] "hola"