向列表 R 添加新元素

Adding new elements to list R

我在更新列表时遇到问题。假设我创建了一个列表:

>list1 <- list(c(1,2,3),c(4,5),c(6,7,8))
list1

我得到:

[[1]]
[1] 1 2 3

[[2]]
[1] 4 5

[[3]]
[1] 6 7 8

并且我想附加一个额外的切片。所以我尝试:

list2 <- list(list1,c(9,10,11))
list2

我得到:

[[1]]
[[1]][[1]]
[1] 1 2 3

[[1]][[2]]
[1] 4 5

[[1]][[3]]
[1] 6 7 8


[[2]]
[1]  9 10 11    

但我真正想要的是:

[[1]]
[1] 1 2 3

[[2]]
[1] 4 5

[[3]]
[1] 6 7 8

[[4]]
[1]  9 10 11

如果有任何计算效率高的解决方案,那就太好了。此过程将重复超过 800k 个切片。

我也接受使用 list() 函数创建嵌套数据结构的替代方法。

你应该试试 append

append(list1,list(c(9,10,11)))

这给出了

[[1]]
[1] 1 2 3

[[2]]
[1] 4 5

[[3]]
[1] 6 7 8

[[4]]
[1]  9 10 11

list(list1,c(9,10,11))

创建一个新的列表,并把之前的list1c(9,10,11)作为它的元素。因此,您会看到新索引 [1] 和 [2].

希望对您有所帮助

c(list1,list(c(9,10,11)))
# [[1]]
# [1] 1 2 3
# 
# [[2]]
# [1] 4 5
# 
# [[3]]
# [1] 6 7 8
# 
# [[4]]
# [1]  9 10 11

我们可以使用c连接两个列表。