Julia 朱莉娅的滞后与超前

Julia 朱莉娅的滞后与超前,julia,Julia,我想把一个数组变成这样 [1,2,3,4,5] 进入滞后版本 [missing,1,2,3,4] # lag 1 [missing,missing,1,2,3] # lag 2 [2,3,4,5,missing] # lead 1 [3,4,5,missing,missing] # lead 2 还是led版本 [missing,1,2,3,4] # lag 1 [missing,missing,1,2,3] # lag 2 [2,3,4,5,missing] # lead 1 [3,4

我想把一个数组变成这样

[1,2,3,4,5]
进入滞后版本

[missing,1,2,3,4] # lag 1
[missing,missing,1,2,3] # lag 2
[2,3,4,5,missing] # lead 1
[3,4,5,missing,missing] # lead 2
还是led版本

[missing,1,2,3,4] # lag 1
[missing,missing,1,2,3] # lag 2
[2,3,4,5,missing] # lead 1
[3,4,5,missing,missing] # lead 2
由于Julia是为科学计算而设计的,所以一定有类似的东西,对吗?

添加移位数组。见:

引述上述内容:

lag、lead函数,用于在数据不可用的情况下移动数组并添加缺失值(或在最新尚未发布的版本中添加自定义默认值),或circshift以惰性(非分配)方式循环移动:

注意,lag的移位数组版本保持数组大小不变。您可以添加一个短函数,使其按照您要求的方式运行:

biglag(v, n) = lag(vcat(v, v[1:n]), n)

@李慧霞:谢谢你的编辑,但我把它改回来了,因为它不是打字错误。滞后的现在完成式落后,领先的现在完成式落后。哎哟,当然。你纠正我的粗心大意是对的。PaddedViews实际上可能更适合OP的需要,因为他希望数组大小随着缺少的值而扩展,但我反映了ShiftedArray实现了滞后和超前函数。