gpt4 book ai didi

R圆形阵列/矢量

转载 作者:行者123 更新时间:2023-12-04 12:13:06 26 4
gpt4 key购买 nike

是否存在实现 FIFO 意义上的循环数组或向量的 R 包?

假设我们有这个数组:

2 4 7 1

当在位置 1 插入一个新的观察值(比如 3)时,我希望第 n 个元素被第 n-1 个元素替换:

3 2 4 7

最佳答案

你可以尝试 c() 并截断结果的长度。

x <- c(2, 4, 7, 1)
c(3, x)[1:length(x)]
# [1] 3 2 4 7

此方法不会复制 x

tracemem(x)
# [1] "<0x3cb5998>"
c(3, x)[1:length(x)]
# [1] 3 2 4 7
untracemem(x)

append() 的源代码看起来也有一些有用的方法可以尝试。

append
# function (x, values, after = length(x))
# {
# lengx <- length(x)
# if (!after)
# c(values, x)
# else if (after >= lengx)
# c(x, values)
# else c(x[1L:after], values, x[(after + 1L):lengx])
# }
# <bytecode: 0x31ac490>
# <environment: namespace:base>

关于R圆形阵列/矢量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32802226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com