向列表 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))
创建一个新的列表,并把之前的list1
和c(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
连接两个列表。
我在更新列表时遇到问题。假设我创建了一个列表:
>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))
创建一个新的列表,并把之前的list1
和c(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
连接两个列表。