【发布时间】:2019-12-30 15:18:21
【问题描述】:
我有大约 1200 个数据帧,每个数据帧大约有 25000 个值。
此数据帧基本上包含一个增量时间序列,有时在测量中会出现错误并在再次变为正确值之前下降到 0(情况 1)或下降到 0 但它不会自动更正(情况 2)。
案例1示例:
案例2示例:
我想重新标记小于先前值的点。基本上对于每个值 i 我想将值 i 与之前的所有 j 进行比较(即 j=length(vector)-i)我尝试如下操作:
x <- c(10,11,12,13,14,1,7,8,14,16,19,22)
y <- x
sapply(x,function(z){z<y})
获取以下信息:
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
[2,] TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
[3,] TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
[4,] TRUE TRUE TRUE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
[5,] TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
[6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[7,] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
[8,] FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
[9,] TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
[10,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
[11,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE
[12,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
但是,我无法提取可用于过滤掉这些数据的模式。
以前有人试过吗?
【问题讨论】:
-
你的目标是什么?你期望结果是什么?那么每个数据框只有一列?
-
diff函数返回连续值之间的连续差。所以你可以试试diff(y) < 0或which(diff(y)<0)
标签: r loops vector vectorization