Тепловая карта с двоичными переменными результата на непрерывной оси X - возможно ли это? - PullRequest
0 голосов
/ 21 июня 2019

Составленные данные

Years (row): 0.5, 0.5, 1.1, 2.0

A: (column 1): 1, 0, 1, 1

B: (column 2): 0, 0, 1, 1

C: (column 3): 0 ,1 ,0, 0

Я попытался создать тепловую карту для моих данных в R, где я хотел бы получить результаты различных маркеров (A, B, C) на Yоси, и на оси х, я хотел бы иметь лет (> 200 данных).

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

Я использую R, я пытался использовать ggplot

library(ggplot2)
ggplot(Data,aes(x=Years,y=markers,fill=factor(Positive/Negative)))+geom_tile()

Iзнаю, что это не правильно, но я просто не знаю, как заставить это работать.

1 Ответ

0 голосов
/ 21 июня 2019

Что-то в этом роде? Вам нужно объединить ваши данные, чтобы вы могли использовать Годы и классы в качестве меток, а свои значения в качестве значений заполнения:


library(data.table)
df <- fread(
'Years      A    B   C
0.19       1    0   0   
0.21       0    1   1   
1.00       0    0   1
2.25       1    0   1'
)

library(tidyverse)

df %>% melt(id.vars = 'Years') %>% 
  ggplot(aes(x = as.factor(Years), y = as.factor(variable), 
             fill = as.factor(value))) +
  geom_tile() +
  scale_fill_manual(values = c('black', 'white')) +
  labs(x = 'year', y = 'marker',fill = 'result')

...