在R中,筛选N个连续数据行的数据帧(a" Window"),然后执行一个函数

时间:2016-04-26 02:13:52

标签: r dataframe

我希望阅读原始数据输出.csv文件,其中包含数千行的10个。这些行大多数都没有填充有意义的数据,但每隔一段时间就会出现一个包含有意义数据的N(通常是5个左右)行的簇。我想筛选行,当我遇到这些群集时,将群集的最大值写入一个使用这些最大值不断更新的文件。

以下是数据的示例:

screen cap

第二栏是我感兴趣的内容。

1 个答案:

答案 0 :(得分:0)

rle功能可让您扫描矢量并获取序列长度。挥手致意的答案是扫描与rle(vector>0)$values相关联的rle(vector>0)$lengths is > 5序列。

我们不能对对象观看者的照片做很多事情。因此,为了提供经过测试的代码包含答案,我们需要代码生成的数据,这些数据可以粘贴到控制台会话中。在这种情况下,您可能会查找非零年龄的值序列,找到我假设的数据帧的一部分名为dfrm,这对您来说很有意义,并将dput(dfrm[ rownames(dfrm) %in% i:j , ])的输出发布到i和j是上面几排的rownames和感兴趣的区域。然后,我们可以向您展示如何使用rlecumsum以及seq为感兴趣的行构建选择向量。