【发布时间】:2014-08-19 12:45:47
【问题描述】:
我想在数据框中创建一个小函数,用于检测(并设置为 0)位于等于 0 的值序列之间的正值序列,但前提是这些正值序列不超过长度超过 5 个值。
这里只是一个小例子,向您展示我的数据看起来如何(initial_data 列),以及我想在最后获得什么(final_data 列):
DF<-data.frame(initial_data=c(0,0,0,0,100,2,85,0,0,0,0,0,0,3,455,24,10,7,6,15,42,0,0,0,0,0,0,0),final_data=c(0,0,0,0,0,0,0,0,0,0,0,0,0,3,455,24,10,7,6,15,42,0,0,0,0,0,0,0))
这句话也可以恢复诀窍: "如果有一个正值序列,不超过 5 个值,并且位于至少两个或三个 0 值之间(在这个正值序列之前和之后),那么也将该序列设置为 0"
有什么建议可以轻松做到这一点吗?
非常感谢!!!
【问题讨论】:
-
序列中可以有负值还是只有0和正值?
-
不,在这种情况下只有 0 和正值。此示例用于雪深数据
标签: r