行之间的条件时间差。R&;dplyr/data.table
因此,我有一个包含两列的数据框:行之间的条件时间差。R&;dplyr/data.table,r,data.table,dplyr,R,Data.table,Dplyr,因此,我有一个包含两列的数据框: set.seed(123) nrows <- 100 my_data <- data.frame(side = sample(c(-1, 1), nrows, replace = TRUE), value = 1:nrows) set.seed(123) nrows非等更新联接工作: library(data.table) setDT(my_data) my_data[, other_side :
set.seed(123)
nrows <- 100
my_data <- data.frame(side = sample(c(-1, 1), nrows, replace = TRUE),
value = 1:nrows)
set.seed(123)
nrows非等更新联接工作:
library(data.table)
setDT(my_data)
my_data[, other_side := -1*side ]
my_data[, v :=
.SD[.SD, on=.(side = other_side, value < value), mult="last", i.value - x.value ]
]
# test
my_data[ res != v, .N ] # 0
库(data.table)
setDT(我的_数据)
my_数据[,另一侧:=-1*侧]
my_数据[,v:=
.SD[.SD,on=(side=另一侧,value
使用滚动连接也可能实现这一点
library(data.table)
setDT(my_data)
my_data[, other_side := -1*side ]
my_data[, v :=
.SD[.SD, on=.(side = other_side, value < value), mult="last", i.value - x.value ]
]
# test
my_data[ res != v, .N ] # 0