gpt4 book ai didi

r - 如何将 R 中的数据框绘制为热图/网格?

转载 作者:行者123 更新时间:2023-12-04 10:57:21 25 4
gpt4 key购买 nike

我将非常感谢 R 的一些帮助。我想绘制一个网格数据的数据框(比如沿着对角线,从左上角到右下角)。我已经看到很多使用 ggplot2 的例子,但是,我只是缺乏使用 R 操作数据结构所需的经验;我多年来一直在用 LISP 和 Java 编程,但我的头脑不会绕过 R :-(

数据如下所示:

                    tension    cluster     migraineNoAura          migraineAura
tension NA 1.5 6.960453e+00 3.596953
cluster 1.943113e+08 NA NA NA
migraineNoAura 8.462798e+00 NA NA 7.499999
migraineAura 2.833333e+00 NA 7.148313e+07 NA

这只是一个很小的子集,它是一个 60x60 的数据帧。注意 NA

我希望有一个 60x60 的网格,由值和使用数据框中名称标记的 x 和 y 着色。

最佳答案

首先,您需要将数据框从宽格式格式化为长格式。以下是使用 tidyverse 格式化数据帧的示例。

library(tidyverse)

dt2 <- dt %>%
rownames_to_column() %>%
gather(colname, value, -rowname)
head(dt2)
# rowname colname value
# 1 tension tension NA
# 2 cluster tension 1.943113e+08
# 3 migraineNoAura tension 8.462798e+00
# 4 migraineAura tension 2.833333e+00
# 5 tension cluster 1.500000e+00
# 6 cluster cluster NA

现在我们准备使用 ggplot2 来绘制使用 geom_tile 的热图。
ggplot(dt2, aes(x = rowname, y = colname, fill = value)) +
geom_tile()

enter image description here

关于r - 如何将 R 中的数据框绘制为热图/网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47733031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com