通过注释订购 pheatmap
order pheatmap by annotation
我正在尝试使用 pheatmap 包制作图形。我想通过我正在使用的注释对数据进行分组,但它不会组合在一起。
我的数据在这里:
sub_samp <- structure(c(1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), .Dim = c(20L,
9L), .Dimnames = list(c("GQQG", "RAPM", "RGQI", "GYNY", "SPTGGSYNX",
"SRLPSDX", "SLXVAGTNEK", "RXVQYGTDT", "SLTXASVE", "SRXGTSGRADE",
"QLDY", "XPRHQTYE", "SXPGTGKSA", "PAVS", "SPRXVTE", "SRDXGPNYG",
"TGTXLE", "PEAH", "SLQGGXT", "SPSARDRVGX"), c("pt11_protected",
"pt12_protected", "pt14_protected", "pt15_protected", "pt16_protected",
"pt17_protected", "pt18_protected", "pt19_protected", "pt20_protected"
)))
sub_anno <- structure(list(seq_share = c("shared", "shared", "shared", "shared",
"shared", "shared", "unshared", "unshared", "unshared", "unshared",
"unshared", "unshared", "unshared", "unshared", "unshared", "unshared",
"unshared", "unshared", "unshared", "unshared")), .Names = "seq_share", row.names = c("XPRHQTYE",
"GQQG", "GYNY", "QLDY", "RGQI", "SRLPSDX", "PAVS", "PEAH", "RXVQYGTDT",
"RAPM", "SXPGTGKSA", "SLXVAGTNEK", "SLQGGXT", "SLTXASVE", "SPRXVTE",
"SPSARDRVGX", "SPTGGSYNX", "SRXGTSGRADE", "SRDXGPNYG", "TGTXLE"
), class = "data.frame")
我正在使用上述数据(来自 dput(xyz_data))和 运行 以下代码用于 pheatmap
pheatmap::pheatmap(sub_samp, annotation_row = sub_anno)
如何通过注释将数据分组?
要在 pheatmap
中指定预定的行顺序,您应该首先关闭行聚类,然后手动对矩阵进行排序。
使用您提供的数据非常简单。
# 1) reorder the matrix based in the annotation
sub_samp_ordered <- sub_samp[rownames(sub_anno), ]
# 2) plot heatmap with no row clusters
pheatmap::pheatmap(sub_samp_ordered, annotation_row = sub_anno, cluster_rows = F)
这导致:
我正在尝试使用 pheatmap 包制作图形。我想通过我正在使用的注释对数据进行分组,但它不会组合在一起。
我的数据在这里:
sub_samp <- structure(c(1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,
1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), .Dim = c(20L,
9L), .Dimnames = list(c("GQQG", "RAPM", "RGQI", "GYNY", "SPTGGSYNX",
"SRLPSDX", "SLXVAGTNEK", "RXVQYGTDT", "SLTXASVE", "SRXGTSGRADE",
"QLDY", "XPRHQTYE", "SXPGTGKSA", "PAVS", "SPRXVTE", "SRDXGPNYG",
"TGTXLE", "PEAH", "SLQGGXT", "SPSARDRVGX"), c("pt11_protected",
"pt12_protected", "pt14_protected", "pt15_protected", "pt16_protected",
"pt17_protected", "pt18_protected", "pt19_protected", "pt20_protected"
)))
sub_anno <- structure(list(seq_share = c("shared", "shared", "shared", "shared",
"shared", "shared", "unshared", "unshared", "unshared", "unshared",
"unshared", "unshared", "unshared", "unshared", "unshared", "unshared",
"unshared", "unshared", "unshared", "unshared")), .Names = "seq_share", row.names = c("XPRHQTYE",
"GQQG", "GYNY", "QLDY", "RGQI", "SRLPSDX", "PAVS", "PEAH", "RXVQYGTDT",
"RAPM", "SXPGTGKSA", "SLXVAGTNEK", "SLQGGXT", "SLTXASVE", "SPRXVTE",
"SPSARDRVGX", "SPTGGSYNX", "SRXGTSGRADE", "SRDXGPNYG", "TGTXLE"
), class = "data.frame")
我正在使用上述数据(来自 dput(xyz_data))和 运行 以下代码用于 pheatmap
pheatmap::pheatmap(sub_samp, annotation_row = sub_anno)
如何通过注释将数据分组?
要在 pheatmap
中指定预定的行顺序,您应该首先关闭行聚类,然后手动对矩阵进行排序。
使用您提供的数据非常简单。
# 1) reorder the matrix based in the annotation
sub_samp_ordered <- sub_samp[rownames(sub_anno), ]
# 2) plot heatmap with no row clusters
pheatmap::pheatmap(sub_samp_ordered, annotation_row = sub_anno, cluster_rows = F)
这导致: