Могу ли я заменить значения -Inf на 0 в моей матрице? - PullRequest
1 голос
/ 08 января 2020

Я бы хотел проконсультироваться с одной вещью. У меня есть простой пример матрицы, скажем:

mx <- rbind(c(1,0,3,418),c(0,1,12,677),c(284,54,1,1),c(312,1,0,1))
mx
     [,1] [,2] [,3] [,4]
[1,]    1    0    3  418
[2,]    0    1   12  677
[3,]  284   54    1    1
[4,]  312    1    0    1

Теперь я хотел бы визуализировать эти данные, поэтому я создал тепловую карту:

enter image description here

К сожалению, значения, например mx[2,3] (12) и mx[3,2] (54), едва различимы. Дело в том, что я хотел бы подчеркнуть их в моем сюжете. Поэтому мне пришла в голову идея простого преобразования журнала, которое не будет влиять и искажать данные:

mx_log <- log2(mx)
mx_log
         [,1]     [,2]     [,3]     [,4]
[1,] 0.000000     -Inf 1.584963 8.707359
[2,]     -Inf 0.000000 3.584963 9.403012
[3,] 8.149747 5.754888 0.000000 0.000000
[4,] 8.285402 0.000000     -Inf 0.000000

Выглядит многообещающе, но, конечно, это преобразование приводит к -Inf для нулей и heatmap.2() выигрышным ' Это не сработало, поэтому я попытался заменить -Inf нулями и создать новый сюжет:

mx_log[mx_log == -Inf] <- 0
mx_log
         [,1]     [,2]     [,3]     [,4]
[1,] 0.000000 0.000000 1.584963 8.707359
[2,] 0.000000 0.000000 3.584963 9.403012
[3,] 8.149747 5.754888 0.000000 0.000000
[4,] 8.285402 0.000000 0.000000 0.000000

enter image description here

Теперь это выглядит лучше, но я ' Я беспокоюсь о манипулировании данными, потому что после преобразования журнала исходные значения 1 теперь равны 0, а нули исходного набора данных -> -Inf -> 0 (мои манипуляции). Итак, мой вопрос, могу ли я сделать такую ​​вещь, чтобы улучшить визуализацию моего набора данных?

...