ベクターを反復処理して新しいベクターを編集しようとしていますが、エラー置換の長さがゼロになっています。エラーが発生する部分は次のとおりです。
NewPos1 = rep(NROW(sig_decision))
for( i in 2:length(NewPos)) {
NewPos1[i] = ifelse( NewPos[i] == 0 & NewPos[i-1] == 1 & ind1[i] > 0 , 1,
ifelse(NewPos[i] ==0 & NewPos[i-1] == -1 & ind1[i] < 0 , -1,0))
}
わかりました、より具体的に
どこが間違っていますか?
編集:より具体的にする必要があります ind1 は数値ベクトルです。ループが必要な理由は、NewPos(NewPos[1]) の前の要素が 1 で ind1[2] > 0 の場合、NewPos1([NewPos[1]) の 2 番目の要素から開始し、NewPos1[ ind1[3] が >0 の場合、NewPos1[3] も 1 になるように、ベクトル全体を反復処理します。