r - 从频率矩阵创建简单热图的问题
问题描述
我正在尝试从以下矩阵 (bnc) 创建热图:
基本上看起来像这样(这里是另一个频率矩阵):
我正处于尝试创建热图的第一阶段,尚未弄清楚有关色阶和 NA 值变黑的详细信息。
当我运行热图功能时:
heatmap(bnc)
我收到以下错误:
Error in hclustfun(distfun(if (symm) x else t(x))) :
NA/NaN/Inf in call to external function (argument 10)
有人可以帮我弄清楚这里出了什么问题吗?
最好的
卡梅伦
编辑:这是我的数据框的 dput() :
structure(c(NA, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, NA,
0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, NA, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 2, 8, 1, NA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6, 3, 0, 0, NA, 2, 0, 0, 0, 0, 0, 0, 0, 1, 2, 8, 0, 0, 1, NA,
0, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, NA, 0, 0, 0, 0, 0,
0, 0, 1, 6, 0, 0, 1, 0, 0, NA, 0, 0, 0, 1, 0, 0, 2, 1, 0, 0,
0, 1, 0, 0, NA, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, NA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NA, 0, 0, 0, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA), .Dim = c(14L, 14L), .Dimnames = list(
c("WILL_", "WOULD_", "MAY_", "MIGHT_", "CAN_", "COULD_",
"SHALL_", "SHOULD_", "MUST_", "OUGHT TO_", "USED TO_", "HAVE TO_",
"GOING TO_", "BE ABLE TO_"), c("_WILL", "_WOULD", "_MAY",
"_MIGHT", "_CAN", "_COULD", "_SHALL", "_SHOULD", "_MUST",
"_OUGHT TO", "_USED TO", "_HAVE TO", "_GOING TO", "_BE ABLE TO"
)))
PS:我希望我的热图显示完全由 NA 值组成的列。
解决方案
你可以试试ggplot2
reshape2::melt(df, value.name = "Freq") %>%
mutate(label = ifelse(is.na(Freq), "NA", as.character(Freq))) %>%
ggplot(aes(Var1, Var2)) +
geom_tile(aes(fill = Freq), color = "white") +
geom_text(aes(label = label), color = "white") +
scale_fill_gradient(low = "blue", high = "red", na.value = "black") +
scale_x_discrete(NULL, expand = c(0, 0)) +
scale_y_discrete(NULL, expand = c(0, 0)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))
推荐阅读
- python-3.x - 熊猫数据框逐行迭代,并引用前一行值进行条件匹配
- kubernetes - Kubernetes - 将静态 IP 路由到多个服务(谷歌云平台)
- android - 使用 api 在 Android 上构建库的传递依赖项
- apache-storm - 如何让 Jstorm 获取 tuplelifecycle 时间
- amazon-web-services - 清除 Kubernetes 集群中的缓存数据
- php - 如果使用变量调用函数,则全局变量为空
- php - Ajax 发布请求正确,但在 IIS 上失败
- javascript - javascript:我想显示原始数据中的图像
- python - Alembic 的 server_default 和 Postgres
- php - 无法读取大于 2GB 的文件