使用R中的lowess方法对数据进行规范化:

时间:2015-05-26 16:33:03

标签: arrays r normalization loess

产生相同NaN错误的数据子集:

    V1  V2  V3  V4  V5  V6  V7  V8  V9  V10 V11 V12
1   10901   1147    964 84  116 91  35  1234    7831    61  440 10
2   492 6062    342 9   1886    48  3822    396 1039    30  1   173
3   289 136 14  23  3833    50  2758    3559    227 3967    187 190
4   981 4   2   18  19  45  74  3754    548 407 2869    44
5   -1  773 67  48  272 1573    53  30  316 209 30  332
6   54  154 8920    78  89  422 4719    8   1082    779 683 1736
7   34  2753    91  15575   468 3856    3   10056   72  133 325 272
8   60  8   120 4589    45280   253 14  6   6   569 2324    16915
9   287 8   5   2441    14  4542    1   239 952 1074    121 37
10  12  1   1463    61  43  420 834 11  2057    12  95  -2

我有一个数据矩阵,我想在其中规范化数组,我使用了这段代码:

library (affy)
loess.matrix<-normalize.loess(data.matrix,subset=1:nrow(data.matrix))

我收到了这个错误:

  

警告讯息:   在normalize.loess中(sample,subset = 1:nrow(sample)):产生NaN

我在使用更大的数据集时也遇到了以下错误,但我认为问题的根源是NaN值的产生:

  

simpleLoess中的错误(y,x,w,span,degree,parametric,drop.square,   规范化,:         外国函数调用中的NA / NaN / Inf(arg 1)       另外:警告信息:       在normalize.loess中(data.matrix,subset = 1:nrow(data.matrix)):         NaNs产生了

有没有人遇到过这个?

1 个答案:

答案 0 :(得分:0)

问题是我的数据包含负值以及何时 执行低值归一化正在产生NaN值。

我通过应用下面的逻辑来处理负值 允许我成功规范化我的数据集。

data.matrix[data.matrix <= 0]=1e-15