📜  在 R 中创建热图(1)

📅  最后修改于: 2023-12-03 15:23:16.971000             🧑  作者: Mango

在 R 中创建热图

热图是一种可视化数据的方法,通过对数据进行色彩编码,将数据转化为色彩深浅来反映不同数值的大小,从而更加直观地观察数据的规律性和趋势性。在 R 中,我们可以使用 ggplot2heatmap 等包来创建热图。

使用 ggplot2 包创建热图

使用 ggplot2 包创建热图的步骤如下:

  1. 准备数据,将数据转化为长格式(long format),即每行代表一个数据点,每列代表一个变量。
  2. 使用 ggplot 函数创建绘图基础对象。
  3. 使用 geom_tile 函数将数据映射到矩形颜色上。
  4. 指定颜色映射方式,可以使用 scale_fill_gradient 函数。
  5. 添加标题、标签、主题等元素。

下面是一个使用 ggplot2 包创建热图的代码片段:

library(ggplot2)

# 准备数据
data <- data.frame(x = rep(letters[1:5], 5),
                   y = rep(letters[1:5], each = 5),
                   value = runif(25))

# 创建绘图基础对象
ggplot(data, aes(x, y, fill = value)) +
  # 将数据映射到矩形颜色上
  geom_tile() +
  # 指定颜色映射方式
  scale_fill_gradient(low = "white", high = "red") +
  # 添加标题、标签、主题等元素
  labs(title = "Heatmap using ggplot2", x = "X-axis", y = "Y-axis") +
  theme_minimal()

以上代码会生成以下热图:

heatmap-ggplot2

使用 heatmap 包创建热图

另外一个创建热图的方法是使用 heatmap 包。使用 heatmap 包时,需要注意将数据转置,因为默认情况下 heatmap 函数会把数据的行作为变量,列作为观测值。

使用 heatmap 包创建热图的步骤如下:

  1. 准备数据。
  2. 使用 heatmap 函数创建热图。
  3. 指定颜色映射方式等细节设置。

以下是一个使用 heatmap 包创建热图的代码片段:

# 准备数据
data <- matrix(rnorm(25), 5, 5, dimnames = list(letters[1:5], letters[1:5]))

# 创建热图
heatmap(data, Colv = NA, Rowv = NA, col = cm.colors(256), scale = "none")

以上代码会生成以下热图:

heatmap-heatmap

总结

无论是使用 ggplot2 包还是 heatmap 包,创建热图都是一个比较简单的过程。通过不同的参数设置,我们可以定制化不同风格、有不同颜色映射方式的热图,从而更加直观地观察数据的特征。