使用特定值向矩阵元素添加噪声

时间:2015-10-26 12:20:22

标签: r noise

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

我有一个有2列的巨型基质 - 第1列是指时间,第2列是指分子浓度。 分子信号是人为的,这就是为什么基线是平坦的(图片)。实际上它应该有点吵enter image description here

因此,我想在正态分布中添加噪音; 我实际上量化了具有此基线值的元素:

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
  }

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

你有给我的小费吗?

祝愿和非常感谢!

1 个答案:

答案 0 :(得分:1)

也许这可能会有所帮助:

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