如何将噪声样本应用于 R 中向量的每个成员?

How to apply noise sample to each member of a vector in R?

我想给 R 中的向量添加噪声。我可以用一个循环来做到这一点:

N <- 4; v <- c(1,5,3,8)
for (i in (1:N)) {
   vec[i] <- vec[i] + floor(runif(1, min = -4, max = 4)
}

一定有一种简单的方法可以使用 lapply 来做到这一点,但我没有找到。感谢帮助。

如果vvec

set.seed(24)
v+floor(runif(N, min=-4, max=4))
#[1] -1  2  4  8

相同
set.seed(24)
for(i in 1:N){
 v[i] <- v[i]+ floor(runif(1, min = -4, max = 4))
 }
v
#[1] -1  2  4  8

如果您需要apply家庭解决方案

set.seed(24)
mapply(`+`, v, floor(runif(N, min=-4, max=4)))
#[1] -1  2  4  8