向具有特定值的矩阵元素添加噪声
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
这是一个非常具体的问题;所以我只告诉你我在处理什么:
我有一个包含 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