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

时间:2015-01-04 04:29:19

标签: r for-loop lapply

我想在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来做到这一点,但它让我望而却步。帮助赞赏。

1 个答案:

答案 0 :(得分:1)

如果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