dplyr 中是否有与 data.table 中的函数 `shift` 相对应的函数?

Psi*_*dom 5 r dplyr data.table

data.table包中,有一个shift函数可以帮助处理连续行中的数据。像这样:

> shift(1:10, 1:3, type = "lag")
[[1]]
 [1] NA  1  2  3  4  5  6  7  8  9

[[2]]
 [1] NA NA  1  2  3  4  5  6  7  8

[[3]]
 [1] NA NA NA  1  2  3  4  5  6  7
Run Code Online (Sandbox Code Playgroud)

我知道在dplyr包中,有类似lead和 的函数,它们的作用与包中的lag相同。但问题是你不能真正指定连续的行,而只能同时检查两行。例如:shiftdata.table

> lag(1:10, 1)
 [1] NA  1  2  3  4  5  6  7  8  9
> lag(1:10, 2)
 [1] NA NA  1  2  3  4  5  6  7  8
> lag(1:10, 3)
 [1] NA NA NA  1  2  3  4  5  6  7
Run Code Online (Sandbox Code Playgroud)

但是你不能做类似的事情lag(1:10, 1:3),这样会产生错误

lag(1:10, 1:3)
Run Code Online (Sandbox Code Playgroud)

lag(1:10, 1:3) 中的错误:n 必须是单个正整数 另外:警告消息:在 if (n == 0) return(x) 中:条件的长度 > 1 并且只有第一个元素将会被使用

所以我的问题是,是否有一个函数与中的dplyr函数相对应。任何澄清将不胜感激!shiftdata.table