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