の最初の値に対する相対値を空ベクターを充填これを作っ私はベクトルを有するベクトル
second.vector <- c(1, rep(NA, length(sample.vector)))
:
sample.vector
1
1
0
0
14
1
1
0
1
12
Iは、以下のコードを有する第二のベクトルを作成しました。
second.vector
1
NA
NA
NA
NA
NA
NA
NA
NA
NA
NA
私はNA
sが0 + Tで置き換えられていることをsecond.vector
な移入したいです彼はそれの上の行(すなわち、第2のベクトルの第1の行の1)sample.vector < 3
またはそれより上の行の値(つまりその値が何であれ)sample.vector > 3
の場合は1です。言い換えれば
:
R、私はあなたが
sample.vector
で[n]の行を見てみたいです。値が3未満の場合は、second.vector
のNAをそのNAを上回る値に置き換えてください。行[n]の値が3より大きい場合は、NAをsecond.vector
にそのNAの値で塗りつぶしますが、1を加算します。
sample.vector
内のすべての行でこれを実行し、second.vector
の各NA
を値に置き換えます。
だから私は得ることを望んだのベクトルは、次のとおりです、
second.vector[2:length(second.vector)] <-
ifelse(sample.vector[1:length(sample.vector)] > 3,
second.vector[1:length(second.vector)]+1,
second.vector[1:length(second.vector)]+0)
しかし、それだけでsecond.vector
1の第2の列を与える:
second.vector
1
1
1
1
1
2
2
2
2
2
3
私はこれを試してみましたベクター全体をいっぱいにするのではなく、
これを行う方法についてのご意見はありますか?
'CUMSUM(as.numeric(sample.vector> 3))+ 1 ' – cuttlefish44
であるものであれば値= 3? – bouncyball
@bouncyballこれは単なる例です。私が持っているデータは、値が1,0、または実際には本当に美しく働いた2または3よりもはるかに大きい値です( –