将元素添加到R中的列表(在嵌套列表中)

时间:2012-12-27 11:43:09

标签: r list

我有一个嵌套列表l3:

l1<- as.list(c(1,2,3,4,5))
l1

l2<- as.list(c(6,7,8,9,10))
l2

l3<- list(l1,l2)
l3

l3显示为:

> l3
[[1]]
[[1]][[1]]
[1] 1

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

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

[[1]][[4]]
[1] 4

[[1]][[5]]
[1] 5


[[2]]
[[2]][[1]]
[1] 6

[[2]][[2]]
[1] 7

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

[[2]][[4]]
[1] 9

[[2]][[5]]
[1] 10

我需要添加第三个列表l4到l3,以便l3变为:

[[1]][[1]]
    [1] 1

to

[[2]][[5]]
    [1] 10


[[3]][[1]]
    [1] 30

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

[[3]][[3]]
    [1] 33

[[3]][[4]]
    [1] 34

[[3]][[5]]
    [1] 35

其中l4是:

l4<- as.list(c(31,32,33,34,35))

我该如何完成它?我已经尝试了(c)list,甚至明确地设置了参数并获得了out of bounds error。我可以用什么来完成这项工作?

2 个答案:

答案 0 :(得分:19)

适用于appendlist

append(l3, list(l4))

结果:

> str(append(l3, list(l4)))
List of 3
 $ :List of 5
  ..$ : num 1
  ..$ : num 2
  ..$ : num 3
  ..$ : num 4
  ..$ : num 5
 $ :List of 5
  ..$ : num 6
  ..$ : num 7
  ..$ : num 8
  ..$ : num 9
  ..$ : num 10
 $ :List of 5
  ..$ : num 31
  ..$ : num 32
  ..$ : num 33
  ..$ : num 34
  ..$ : num 35

答案 1 :(得分:9)

我不知道您使用c尝试了什么,但它有效

c(l3,list(l4))

PS:append是要插入特定索引的c的包装器(参见参数后)