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 │
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 │