避免将数字转换为日期中的日期

问题描述 投票:0回答:1

我有一个矩阵,要在其中创建热图。行名称是化验,而别名是CASRN,格式为“ 131-55-5”]

我的矩阵看起来像这样the data matrix for the heatmap

出于某种原因,密谋认为这些是日期,并将其转换为2000年3月之类的数据,给了我一个空白的情节。

在将数据框转换为我检查的矩阵之前,所有列都是因子。有什么方法可以确保我在绘制矩阵时数字不会变成日期?

这是我用于热图的代码

plot_ly(x=colnames(dm_new2), y=rownames(dm_new2), z = dm_new2, type = "heatmap") %>%
  layout(margin = list(l=120))
r matrix plotly
1个回答
0
投票

使用一些随机数据来模拟您的数据集。只需将矩阵放入数据框即可。试试这个:

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

reprex package(v0.3.0)在2020-04-08创建

© www.soinside.com 2019 - 2024. All rights reserved.