【发布时间】:2013-03-10 04:21:12
【问题描述】:
尝试在 R 中使用 MA 归一化 (http://en.wikipedia.org/wiki/MA_plot) 对两个变量 x 和 y 进行 loess,如下所示:
> x = rnorm(100) + 5
> y = x + 0.6 + rnorm(100)*0.8
> m = log2(x/y)
> a = 0.5*log(x*y)
我想对 x 和 y 进行归一化,使平均 m 为 0,就像在标准 MA 归一化中一样,然后反算正确的 x 和 y 值。 MA上首次运行黄土:
> l = loess(m ~ a)
那么,纠正m 值的方法是什么?这是正确的吗?
> mc <- predict(l, a)
# original MA plot
> plot(a,m)
# corrected MA plot
> plot(a,m-mc)
我不清楚 predict 在 loess 对象的情况下实际上做了什么,以及它与在 loess 返回的对象 l 中使用 l$residuals 有何不同 - 有人可以解释一下吗?
最后,我怎样才能根据这个更正计算新的x 和y 值?
【问题讨论】:
-
gogling 将我带到
library(affy),它包含normalize.loess和ma.plot函数。为什么不使用这个包来控制你的结果呢? -
@agstudy:这很好,但这很简单,应该可以用
loess实现,不需要额外包的开销。我想了解 loess 拟合在 R 中是如何工作的,而不依赖于包
标签: r statistics normalization regression loess