私は大量のデータを持っていますが、これは代表的な例の1つにすぎません。
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)の3つのイベントが発生します。最初に、ゼロではない最初の数値を定義しようとしました。
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)
}
変数の名前を変更したときに開始と終了が関数であることを忘れました...ありがとうございます