我通过以下方式创建列表列表:
key<-112233
list1 <- list(a = 2, b = 3)
list2 <- list(c = "a", d = "b")
mylist <- list(list1, list2)
Run Code Online (Sandbox Code Playgroud)
然后,我想在第二个列表中添加一个新对,但我想键入key以前定义的值.当我做
mylist[[2]]$key<-6
Run Code Online (Sandbox Code Playgroud)
我明白了
$c
[1] "a"
$d
[1] "b"
$key
[1] 6
Run Code Online (Sandbox Code Playgroud)
而不是
$c
[1] "a"
$d
[1] "b"
$112233
[1] 6
Run Code Online (Sandbox Code Playgroud)
我尝试使用get或许多可能的其他组合使用[]或[[]]似乎没有任何工作.请指教.
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
Run Code Online (Sandbox Code Playgroud)
根据@ user20650的评论更新:您可以执行以下操作:而不是在开头将变量键转换为字符串:
mylist[[2]][as.character(key)] <- 6
Run Code Online (Sandbox Code Playgroud)