我有这个数据集:示例:
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),我想用 NA 代替 x 的值。它应该以最初检查 x[i] -x[i+1] 的方式完成。如果这不满足下一个 i 的条件检查。现在如果条件满足,它应该为 x[i+1] 放置 NA。
那么下一次 p 应该是 p= x[i] - x[i+2]。它应该跳过 NA 值并保持 p (x[i]) 的第一项相同,直到条件不满足。一旦发生这种情况,第一项应该成为 NA 值旁边的项,第二项成为第一项旁边的项。
我认为这可以通过 if else 和 for 循环的组合来完成。但是即使在努力之后我也无法弄清楚算法。我需要这方面的帮助。
谢谢您的考虑。