1
我有一个很长的数据帧,我想查找序列的结束和开始。简化查找数据帧中序列的开始和结束
b = c("a","c","a","c","e", "a","c","a","c","a" ,"c","a","c","a","c" ,"d","d","d","d","d")
a = c(0,0,0,0,1, 4,0,0,0,0, 5,1,6,0,0, 0,10,0,0,0)
df = data.frame(a,b)
我想要的是一种方法来找到所有的非零到0和0到非零转换。
我已经通过使用lapply
来调用一个函数并保存上一次调用的值。
我正在寻找更优雅的东西,让我看看N行和N + 1行,或者更好的行N行N + M在我的功能或更好的东西。
您可以通过rle(Data $ a == 0)找到它们,但根据您的最终目标,可能会有更有用的方法对序列进行分组。 – 2012-04-16 14:37:54
详细阐述Joshua的评论:'Data $ a == 0'返回0为逻辑1,其他所有返回逻辑0,从而使'rle'的输出完全符合你的要求。 – 2012-04-16 17:29:17