Как представить данные с помощью растрового графика и показать, что некоторые точки данных хороши / плохи в R? - PullRequest
0 голосов
/ 30 октября 2019

Я работаю с данными, которые представляют n сигналов и их значения в m различных моментов времени (m ~ 1500, n ~ 50). Я придумал алгоритм, чтобы проверить, какие значения являются репрезентативными для каждого сигнала, а какие нет, поэтому я получаю n сигналов и m значений True / False, которые говорят мне, является ли значение репрезентативным или нет. Я также знаю, что значения True / False сгруппированы довольно хорошо, что означает, что если я возьму два близких значения, вероятность того, что они одинаковы, намного выше, чем то, что они различны. Я работаю в R.

Я хочу визуализировать результат этого алгоритма вывода. Чтобы сделать это, я пытаюсь создать растровый график, на котором каждая точка заполнена значением сигнала, а каждая группа значений True / False имеет границу, которая видна. Как и на рисунке ниже, но немного по-другому.

enter image description here

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

У меня есть одна матрица n * m, которая дает мне данные для построения растрового графика, и другая матрица n * m (из значений True / False), которая сообщает мне, какие точки являются хорошими / плохими.

КодНиже приведен наиболее близкий к ответу ответ, но внутри группы по-прежнему есть граница, которая не подходит мне.

library(ggplot2)

n = 5
m = 10

dataMatrix <- data.frame(cbind(1:m, matrix(runif(n * m), ncol = n)))
trueMatrix <- data.frame(cbind(1:m, matrix(rep(c(T, T, T, F, F), m), ncol = n)))

dataMatrix <- gather(dataMatrix, key = Signal, value = Value, -1)
trueMatrix <- gather(trueMatrix, key = TrueFalse, value = Value, -1)

dataMatrix$Representativeness <- trueMatrix$Value
dataMatrix$Signal <- as.integer(gsub("X", "", dataMatrix$Signal))

ggplot(data = dataMatrix) +
  geom_raster(mapping = aes(x = X1, y = Signal, fill = Value)) +
  scale_fill_gradient2(low = "blue", high = "red", na.value = "black", name = "") +
  geom_rect(mapping = aes(xmin = X1 - 0.5,     xmax = X1 + 0.5,
                          ymin = Signal - 0.5, ymax = Signal + 0.5),
            size = 1, fill = NA, colour = dataMatrix$Representativeness)
...