我有 6 列 ab1、ab2、ab3、ab4、ab5、ab6 的数据框。 在上面的例子中,我只需要绘制之间的相关性图 ab1 至 ab2、ab1 至 ab3、ab1 至 ab4、ab1 至 ab5、ab1 至 ab6 我不想绘制 ab2 到 ab3、ab2 到 ab4 以及剩余的.....
最终图将具有 2*6 热图。我如何在 R 中执行此操作?
# Sample data
set.seed(123)
df <- data.frame(ab1 = rnorm(100),
ab2 = rnorm(100),
ab3 = rnorm(100),
ab4 = rnorm(100),
ab5 = rnorm(100),
ab6 = rnorm(100))
# Calculate correlations
cor_matrix <- cor(df)
您只需操作关联对象并选择适当的列即可:
set.seed(123)
df <- data.frame(ab1 = rnorm(100),
ab2 = rnorm(100),
ab3 = rnorm(100),
ab4 = rnorm(100),
ab5 = rnorm(100),
ab6 = rnorm(100))
# Calculate correlations
cor_matrix <- cor(df)
# Just select correlation between ab1 and rest of rows
data.frame(ab1 = cor_matrix[2:6, 1]) |>
as.matrix() |>
corrplot::corrplot()
创建于 2023-12-13,使用 reprex v2.0.2