私は時系列から派生したブールベクトルを持っています。基本的に次のようになります。c(true、false、true、true、false、false、false、true、true ...)rの真/偽の期間数をカウント
私はベクトルが真である期間を数えたいと思います。例:次のようなベクトルの場合:c(true、true、false、true)2(最初は1長い真の期間、最後は短い1)。
このベクターは最初にNAsを含むことができる。 =================================
aaa <- c(NA,F,T,T,T,F)
for(j in 1:(length(aaa)-1)){
if(aaa[j]!=aaa[j+1]){
# add a counter that returns [1]
}
}
:
は、私のような何かを考えました================
編集:これは私のために正常に動作します:
data.frame("#"=unlist(rle(aaa)[1]),"length"=unlist(rle(aaa)[2]))
c(TRUE、NA、TRUE)はあなたに何を期待しますか?あなたの質問に対する答えは、 '?rle'を参照してください。 – Miff
コメントを含めるために投稿を編集し、1)入力ベクトル2)出力ベクトル3)を強調表示するダミーコードも含めてください。 (再現可能な例を掲示する方法)を見てください(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – OdeToMyFiddle
@Miff:c(TRUE、NA 、TRUE)は2 – enroute