Избегайте преобразования чисел в даты в заговоре - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть матрица, для которой я хочу создать тепловую карту на графике. имена строк представляют собой анализы, а имена столбцов - CASRN, и они имеют этот формат "131-55-5"

моя матрица выглядит следующим образом матрица данных для тепловой карты

по какой-то причине заговорщично думает, что это даты, и конвертирует их во что-то вроде марта 2000 г. и дает мне пустой сюжет.

, прежде чем я преобразовал свой фрейм данных в матрицу, я проверил, и все столбцы являются факторами. Есть ли способ, которым я могу убедиться, что мои цифры не превратятся в даты, когда я строю свою матрицу?

это код, который я использую для своей тепловой карты

plot_ly(x=colnames(dm_new2), y=rownames(dm_new2), z = dm_new2, type = "heatmap") %>%
  layout(margin = list(l=120))

1 Ответ

0 голосов
/ 08 апреля 2020

Использование случайных данных для имитации c вашего набора данных. Просто поместите свою матрицу в фрейм данных. Попробуйте это:

set.seed(42)

library(plotly)
library(dplyr)
library(tidyr)

dm_new2 <- matrix(runif(12), nrow = 4, dimnames = list(LETTERS[1:4], c("131-55-5", "113-48-4", "1582-09-8")))

# Put matrix in a dataframe
dm_new2 <- as.data.frame(dm_new2) %>% 
  # rownames to column
  mutate(x = row.names(.)) %>%
  # convert to long format
  pivot_longer(-x, names_to = "y", values_to = "value")

dm_new2 %>% 
  plot_ly(x = ~x, y = ~y, z = ~value, type = "heatmap") %>%
  layout(margin = list(l=120))

enter image description here

Создано в 2020-04-08 пакетом prex (v0. 3,0)

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