我正在处理重复的1和0的长串,表示作为深度函数的现象的存在。如果这种现象被标记超过1米,则认为它足以用于进一步分析,如果不是,则可能是由于实验误差。
我最终需要在每个位置(如果超过1米)显示这种现象的总厚度。
在虚拟数据集中,输入和预期输出如下所示:
#Depth from 0m to 10m with 0.5m readings
depth <- seq(0, 10, 0.5)
#Phenomenon found = 1, not = 0
phenomflag <- c(1,0,1,1,1,1,0,0,1,0,1,0,1,0,1,1,1,1,1,0)
我想要的输出是一个矢量:4,5(转换回2米和2.5米)
我试图使用
来解决这个问题y <- rle(phenomflag)
z <- y$length[y$values ==1]
但是一旦我计算了,我就不知道如何:
a)从连续重复的每组中隔离1个最大数。
b)限制到超过(x)的连续字符串 - 在。
之后这可能会更容易提前致谢。
答案 0 :(得分:0)
count在评论部分发布了一个很好的解决方案。
y <- y <- rle(repeating series of 1's and 0's)
x <- cbind(y$lengths,y$values) ; x[which(x[,1]>=3 & x[,2]==1)]
这导致重复超过阈值2的值,只有最大值。