Проблема нормализации данных с использованием метода lowess в 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))

и я получил эту ошибку:

Предупреждение: в normalize.loess(sample, subset = 1:nrow(sample)): произведено NaN

Я также получил следующую ошибку с большим набором данных, но я думаю, что корень проблемы - получение значений NaN:

Ошибка в simpleLoess(y, x, w, span, градус, параметрический, drop.square, normalize,: NA/NaN/Inf при вызове сторонней функции (аргумент 1) Дополнительно: предупреждающее сообщение: In normalize.loess(data.matrix), подмножество = 1:nrow(data.matrix)): произведено NaN

Кто-нибудь сталкивался с этим раньше?

1 ответ

Решение

Проблема заключалась в том, что мои данные содержали отрицательные значения, и при выполнении нормализации низкого значения были получены значения NaN.

Я обработал отрицательные значения, применяя приведенную ниже логику, это позволило мне успешно нормализовать мой набор данных.

data.matrix[data.matrix <= 0]=1e-15
Другие вопросы по тегам