[英]Correlation heatmap for a data frame split by a factor in R
您可以使用psych
包和圖形包(例如ggplot2
或pheatmap
。 首先定義一個自定義函數來獲取 p 值,然后使用by
應用該函數。
library(psych)
myfun <- function(df) corr.test(df[, 1], df[, 3:6], method = "spearman", adjust =
"none")$p
dfs <- by(mtcars, mtcars$cyl, myfun)
mat <- do.call(rbind, dfs)
rownames(mat) <- c("cyl = 4", "cyl = 6", "cyl = 8")
library(pheatmap)
pheatmap(mat,
cluster_rows = F,
cluster_cols = F,
display_numbers = T,
show_rownames = T,
show_colnames = T,
number_format = "%.4f")
我沒有嘗試完全復制上面的熱圖,但您可以閱讀?pheatmap
以了解其所有選項。
附注:如果任何人都可以做到這一點,在適當的功能purrr
管道進入ggplot2
的熱圖,你有我給予好評。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.