我按以下方式创建列表列表:
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
或使用[]
或[[]]
的许多其他组合,但似乎没有任何效果。请指教。
答案 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