【发布时间】:2019-12-02 06:26:45
【问题描述】:
我希望编写以下代码的sapply 版本。如您所见,for 代码将位置i 的值替换为位置i-1 和i+1 的平均值。我如何使用sapply 做到这一点?
test <- c(1:length(x))
if(length(which(x > mean(x) + sd(x)*3)) > 0){
for (i in 1:length(x)) {
if(x[i] > mean(x) + sd(x)*3){
x[i] <- mean(x[i-1], x[i+1])
}
else{
x[i] <- x[i]
}
}
}
else{
test <- x
}
为了生成合适的(即非正常)测试向量,我使用了 StableEstim 包中的 rstable 函数。
x <- rstable(100, alpha = 1.48, beta = 0.99, gamma = 0.27, delta = 3.36)
【问题讨论】:
标签: sapply