r - 避免在情节中将数字转换为日期
问题描述
我有一个矩阵,我想为它创建一个热图。行名是化验,列名是 CASRN,格式为“131-55-5”
我的矩阵看起来像 热图的数据矩阵
出于某种原因,情节认为这些是日期,并将它们转换为 2000 年 3 月之类的东西,并给了我一个空的情节。
在我将数据框转换为矩阵之前,我检查了所有列都是因素。有什么方法可以确保在绘制矩阵时我的数字不会变成日期?
这是我用于热图的代码
plot_ly(x=colnames(dm_new2), y=rownames(dm_new2), z = dm_new2, type = "heatmap") %>%
layout(margin = list(l=120))
解决方案
使用一些随机数据来模拟您的数据集。只需将您的矩阵放在数据框中。试试这个:
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))
由reprex 包(v0.3.0)于 2020 年 4 月 8 日创建
推荐阅读
- python - 简化 MongoEngine QuerySet 结果
- performance - tmssoftware TTMSFNCGrid 数据加载缓慢
- javascript - 使用 Google 联系人在 Google 脚本中填充 Materialize CSS 自动完成功能
- sql-server - 使用 FormatMessage 时出现错误
- javascript - 我怎样才能使这个console.log在上面的功能完成后执行?
- nuget - 如何使用 API 获取 NuGet 包版本元数据?
- glsl - WebGL 着色器 - 来自 sampler2D 纹理的颜色与明确定义的 vec4 颜色给出不同的结果
- python - 使用工具 API 更新 Sales Force 上的“customField”的“valueSet”
- android - 为什么 Android Datastore 总是返回与 runblocking 相同的值
- python - 无法将形状 (500,500,3) 的 numpy 数组转换为 (180,180,3)