Julia 中 R 代码的等价物是什么 - 滑动分组依据

What is the equivalent in Julia for R code - slide with group by

Julia 中以下 R 代码的等价物是什么

df<-slide(df,Var="m",GroupVar="symbol",NewVar="m_1",slideBy = -1,reminder = FALSE)

在 R 中,此代码为 "m" 创建了一个新的滞后变量 "m_1",按 "symbol" 变量分组并按 1 滑动或滞后。

据我所知,没有任何 Julia 包可以开箱即用地实现此功能,但您可以通过 DataFrames 和 ShiftedArrays 实现:

julia> using DataFrames, ShiftedArrays

julia>  df = DataFrame(symbol = ["a","a","a","b","b","b"], m = [1,2,3,4,5,6])
6×2 DataFrame
│ Row │ symbol │ m     │
│     │ String │ Int64 │
├─────┼────────┼───────┤
│ 1   │ a      │ 1     │
│ 2   │ a      │ 2     │
│ 3   │ a      │ 3     │
│ 4   │ b      │ 4     │
│ 5   │ b      │ 5     │
│ 6   │ b      │ 6     │

julia> by(df, :symbol, m_lag = :m => lag)
6×2 DataFrame
│ Row │ symbol │ m_lag   │
│     │ String │ Int64⍰  │
├─────┼────────┼─────────┤
│ 1   │ a      │ missing │
│ 2   │ a      │ 1       │
│ 3   │ a      │ 2       │
│ 4   │ b      │ missing │
│ 5   │ b      │ 4       │
│ 6   │ b      │ 5       │