私はこのデータセットを持っています:サンプル:
x=rnorm(45)
std_d=sd(x)
xは次のようになります。
[1] -0.08059702 0.90403763 -0.18618130 -0.48590834 1.23714656 1.02248570
[7] -0.28970333 -0.19626563 0.89060697 0.87530362
p = abs(x [i]-x [i + 1])とします。p> sd(x)の場合、xの値の代わりにNAを配置したいと思います。最初にx[i]-x [i+1]をチェックする方法で行う必要があります。これが次のiの条件チェックを満たさない場合。ここで、条件が満たされる場合、x [i+1]にNAを設定する必要があります。
次に、次回pはp = x [i]-x [i+2]になります。NA値をスキップし、条件が満たされないまでp(x [i])の最初の項を同じに保つ必要があります。これが発生すると、最初の項はNA値の隣の項になり、2番目の項は最初の項の隣の項になります。
これは、ifelseとforループの組み合わせで実行できると思います。しかし、一生懸命頑張ってもアルゴリズムがわかりません。これについては助けが必要です。
ご検討をお願いいたします。