在 R 中使用 lowess 方法规范化数据时出现问题:

Trouble normalizing data using lowess method in R:

产生相同 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))

我收到了这个错误:

Warning message: In normalize.loess(sample, subset = 1:nrow(sample)) : NaNs produced

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

Error in simpleLoess(y, x, w, span, degree, parametric, drop.square, normalize, : NA/NaN/Inf in foreign function call (arg 1) In addition: Warning message: In normalize.loess(data.matrix, subset = 1:nrow(data.matrix)) : NaNs produced

有人遇到过这个吗?

问题是我的数据包含负值,什么时候 正在生成执行低归一化的 NaN 值。

我通过应用下面的逻辑来处理负值,这个 让我成功规范化了我的数据集。

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