我希望阅读原始数据输出.csv文件,其中包含数千行的10个。这些行大多数都没有填充有意义的数据,但每隔一段时间就会出现一个包含有意义数据的N(通常是5个左右)行的簇。我想筛选行,当我遇到这些群集时,将群集的最大值写入一个使用这些最大值不断更新的文件。
以下是数据的示例:
第二栏是我感兴趣的内容。
答案 0 :(得分:0)
rle
功能可让您扫描矢量并获取序列长度。挥手致意的答案是扫描与rle(vector>0)$values
相关联的rle(vector>0)$lengths is > 5
序列。
我们不能对对象观看者的照片做很多事情。因此,为了提供经过测试的代码包含答案,我们需要代码生成的数据,这些数据可以粘贴到控制台会话中。在这种情况下,您可能会查找非零年龄的值序列,找到我假设的数据帧的一部分名为dfrm
,这对您来说很有意义,并将dput(dfrm[ rownames(dfrm) %in% i:j , ])
的输出发布到i和j是上面几排的rownames和感兴趣的区域。然后,我们可以向您展示如何使用rle
和cumsum
以及seq
为感兴趣的行构建选择向量。