我有一个大的数据框架,我需要一个函数来自动化这个搜索。基本上,我想找出在第一次观测和第一次连续两次负面观测之间有多少次观测。
示例:
x <- c(2, 1, 9, 3, 4, -6, 5, 6, -7, -1)假设这是我的数据,我想计算2到-7之间的数据点数。
我需要在r.
非常感谢您的帮助:!
发布于 2020-05-25 14:10:56
您可以使用rle查找前两个连续的负面观察结果,如:
i <- rle(!(is.na(x) | x>=0))
j <- i$lengths > 1 & i$values
j <- if(any(j)) min(which(j))-1 else 0
if(j > 0) sum(i$lengths[seq_len(j)])-1 else 0
#[1] 7发布于 2020-05-25 13:59:42
你可以:
which.max(cumsum(x < 0) == 2)
[1] 9https://stackoverflow.com/questions/62003911
复制相似问题