如何在R

时间:2015-08-18 22:44:16

标签: r list move elements

我的问题很简单,但我找不到有效的方法来解决它。 我想在列表的第一个位置加载一个新元素,然后向下移动其他元素。

例如,我得到了一个包含3个元素的列表L

L=list("a","b","c")
[[1]]
[1] "a"

[[2]]
[1] "b"

[[3]]
[1] "c"

我有一个字符串“z”,我想将它加载到我的列表L的第一个元素中,所以预期的新列表NL看起来像:

[[1]]
[1] "z"

[[2]]
[1] "a"

[[3]]
[1] "b"

[[4]]
[1] "c"

有人知道如何以优雅的方式做到这一点吗?谢谢!

1 个答案:

答案 0 :(得分:2)

使用append函数可能,但相当昂贵:

append(list("z"), L)

但是,在普通R中扩展数据结构是大多数时候都要避免的。如果您有需要此类操作的算法,最好使用RCpp

否则最好预先分配更大的结构并简单地填充值。