这是一个非常具体的问题;所以我只是告诉你我在做什么:
我有一个有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
}
但由于某种原因它不起作用。 (错误“如果(App [,1] == min(App [,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