我正在使用大型data.table.请考虑以下示例:
#1st row is
A <- c(8,8,8,8,8,8,8,8,8,8)
#2nd row is
B <- c(9,9,7,6,5,6,7,7,8,8)
Run Code Online (Sandbox Code Playgroud)
我需要知道B何时开始低于A并且当它变得高于或等于A.
我想要的是这样的表:
begin end
3 9
Run Code Online (Sandbox Code Playgroud)
这是一个想法,使用sign,
which(c(FALSE, diff(sign(A - B)) != 0))
#[1] 3 9
Run Code Online (Sandbox Code Playgroud)