我的问题很简单,但我找不到有效的方法来解决它。 我想在列表的第一个位置加载一个新元素,然后向下移动其他元素。
例如,我得到了一个包含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"
有人知道如何以优雅的方式做到这一点吗?谢谢!
答案 0 :(得分:2)
使用append
函数可能,但相当昂贵:
append(list("z"), L)
但是,在普通R中扩展数据结构是大多数时候都要避免的。如果您有需要此类操作的算法,最好使用RCpp。
否则最好预先分配更大的结构并简单地填充值。