我有大量的数据,但这只是一个有代表性的例子。
data=c(0,0,0,0,0.1,0.1,0.1,0,0,0,0,0.2,0.1,0,0,0.3,0.1,0.1,0,0)
我正在尝试定义单独的事件,这些事件以不同于零的第一个值开始,并以不等于零的最后一个值结束(事件不得包含零值)。所以在这种情况下,我将有三个事件:(0.1,0.1,0.1)、(0.2,0.1) 和 (0.3,0.1,0.1)。首先,我尝试定义第一个不为零的数字:
events <- list()
for(i in seq(1,length(data),1)){
if(data[i]==0) next
else start1=i
当循环找到与零不同的第一个值时,我尝试使用另一个 for 循环(并重复)来定义事件的结束,但我的解决方案都不起作用......
然后我尝试用部分数据定义新列表:
events[[paste('ev', end1-start1)]] = data[start1:end1]
rm(start1); rm(end1)
}
当我更改变量的名称时,我忘记了 start 和 end 是函数...谢谢