Создание изображения сетки в R - PullRequest
0 голосов
/ 13 июля 2020

Я хотел бы создать изображение сетки 10x10 (я не знаю, как лучше его назвать), которое смотрит на значение в df и раскрашивает соответствующую сетку на основе значения в df.

Например, у меня есть df, как показано ниже (для простоты я использовал 5x5 в качестве примера):

column <- c(rep(c(1),5),rep(c(2),5),rep(c(3),5),rep(c(4),5),rep(c(5),5))
row <- rep(1:5, 5)
ID <- c(11:15, 21:25, 31:35, 41:45, 51:55)
class <- c(0,0,1,2,1,2,2,3,0,1,2,3,1,2,0,1,0,0,2,3,3,2,2,2,1)
df <- data.frame(column, row, ID, class)

Я хотел бы создать сетку, которая окрашивает каждую точку на основе class переменная. Например, для столбца 1 строки 1 (ID = 11) класс будет 0. На сетке он будет окрашен в синий цвет. Все элементы класса 1 будут окрашены в зеленый цвет, класс 2 - в красный, а класс 3 - в желтый.

Это будет выглядеть примерно так: введите описание изображения здесь

Пожалуйста, простите за простоту примера.

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

1 Ответ

1 голос
/ 13 июля 2020

Это тепловая карта. Вы можете сделать это так в ggplot2:

library(ggplot2)

ggplot(df, aes(column, row, fill = as.factor(class))) + 
  geom_tile() +
  scale_fill_manual(values = c("blue", "green", "red", "yellow"),
                    labels = 0:3, name = "class") 

Created on 2020-07-13 by the пакет реплекс (v0.3.0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...