r - append 到具有动态名称的列表

标签 r list append names

我在 R 中有一个列表:

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

我想 append 到这个命名列表,但名称必须是动态的。也就是说,它们是从一个字符串创建的(例如:paste("another","name",sep="_")
我尝试这样做,但不起作用:
c(a, parse(text="paste(\"another\",\"name\",sep=\"_\")=\"hola\"")

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

最佳答案

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

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"

关于r - append 到具有动态名称的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611915/

相关文章:

r - 如何计算R中的最小生成树

r - 使用 R 从数据框的列中过滤掉不连续的数字

list - Prolog - 第一个列表是第二个列表的子列表,同时保持顺序?

jquery - 如何在append方法中执行if语句

jquery - 使用 jQuery append 动态生成的 html 与 Fancybox 配合不佳

r - 从文件名中提取一个字符+1个字符

r - R中条形图中的文本

list - 对 R 中的组进行回归和预测

java - 使用 compareTo() 方法按字母顺序对列表进行排序

javascript - 使用 .append() 将标题属性添加到动态选择选项