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