向具有特定值的矩阵元素添加噪声

Adding noise to matrix elements with a specific value

这是一个非常具体的问题;所以我只告诉你我在处理什么:

我有一个包含 2 列的巨大矩阵 - 第 1 列表示时间,第 2 列表示分子浓度。 分子信号是人为的,这就是基线平坦的原因(图片)。实际应该有点吵

因此,我想在正态分布之外添加噪声; 我其实已经量化了有这个基线值的元素:

numb=length(App[,2][App[,2]==min(App[,2])])
noise=rnorm(numb)

我现在正在努力将这种随机噪声添加到元素中

App[,2]==min(App[,2])

我尝试了 if 循环:

if(App[,2]==min(App[,2])) {

    App[,2]=App[,2]=+noise
  }

但由于某种原因它不起作用。 (错误“在 if (App[ 1] == min(App[ 1])) { 中: 条件的长度 > 1 且仅使用第一个元素)

你有什么建议吗?

最良好的祝愿和非常感谢!

也许这会有所帮助:

baseline.index = which(App[,2] == min(App[,2]))
noise = rnorm( length (  baseline.index ))
App[baseline.index,2] = App[baseline.index,2] + noise