将新元素添加到列表列表中(在R中)

时间:2015-05-17 22:01:48

标签: r list

我按以下方式创建列表列表:

 key<-112233
 list1 <- list(a = 2, b = 3)
 list2 <- list(c = "a", d = "b")
 mylist <- list(list1, list2)

然后,我想在第二个列表中添加一个新对,但我想键入以前定义的key的值。当我做的时候

 mylist[[2]]$key<-6

我得到了

$c
[1] "a"

$d
[1] "b"

$key
[1] 6

而不是

$c
[1] "a"

$d
[1] "b"

$112233
[1] 6

我尝试使用get或使用[][[]]的许多其他组合,但似乎没有任何效果。请指教。

1 个答案:

答案 0 :(得分:7)

key<-"112233"
list1 <- list(a = 2, b = 3)
list2 <- list(c = "a", d = "b")
mylist <- list(list1, list2)
mylist[[2]][key]<-6

[[1]]
[[1]]$a
[1] 2

[[1]]$b
[1] 3


[[2]]
[[2]]$c
[1] "a"

[[2]]$d
[1] "b"

[[2]]$`112233`
[1] 6

根据来自@ user20650的评论进行更新:您可以执行以下操作,而不是将变量键转换为字符串:

mylist[[2]][as.character(key)] <- 6