小编csg*_*oen的帖子

合并多个 hclust 对象(或树状图)

有没有一种简单的方法可以在根处合并多个 hclust 对象(或树状图)?

我已经使示例尽可能完整来说明我的问题。

假设我想按区域对 USArrest 进行聚类,然后将所有 hclust 对象联合起来,将它们绘制在热图中。

USArrests
Northeast <- c("Connecticut", "Maine", "Massachusetts", "New Hampshire", "Rhode Island", 
"Vermont", "New Jersey", "New York", "Pennsylvania")
Midwest <-  c("Illinois", "Indiana", "Michigan", "Ohio",  "Wisconsin", 
    "Iowa", "Kansas", "Minnesota", "Missouri", "Nebraska", "North Dakota", 
    "South Dakota")
South <- c("Delaware", "Florida", "Georgia", "Maryland", "North Carolina", 
           "South Carolina", "Virginia", "West Virginia", 
           "Alabama", "Kentucky", "Mississippi", "Tennessee", "Arkansas", 
           "Louisiana", "Oklahoma", "Texas")
West <- c("Arizona", "Colorado", "Idaho", "Montana", "Nevada", "New Mexico", 
          "Utah", "Wyoming", "Alaska", "California", "Hawaii", "Oregon", "Washington")

h1 <- …
Run Code Online (Sandbox Code Playgroud)

r dendrogram hclust pheatmap

5
推荐指数
1
解决办法
1592
查看次数

在 ggplot2 直方图中添加与 bin 高度相同的选定观测值的标签

我想为直方图中的某些观察添加“id”注释。

到目前为止,我可以毫无问题地添加注释,但我希望注释的 'y' 位置是 bin + 1 的计数(出于审美原因)。

这是我到目前为止:

library(tidyverse)
library(ggrepel)

selected_obs <- c("S10", "S100", "S245", "S900")
set.seed(0)
values <- rnorm(1000)
plot_df <- tibble(id = paste0("S", 1:1000),
                  values = values) %>%
    mutate(obs_labels = ifelse(id %in% selected_obs, id, NA))

ggplot(plot_df, aes(values)) +
    geom_histogram(binwidth = 0.3, color = "white") +
    geom_label_repel(aes(label = obs_labels, y = 100))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我已经看到多个答案处理使用geom_text(stat = count", aes(y=..count.., label=..count..).

基于此,我尝试了这两种解决方法,但没有成功:

  1. geom_label_repel(stat = "count", aes(label = obs_labels, y = ..count..)) 产生:“错误:geom_label_repel 需要以下缺失的美学:标签”
  2. geom_label_repel(aes(label = obs_labels, y = ..count..)) 产生“错误:美学必须是有效的计算统计数据。有问题的美学:y …

r ggplot2

5
推荐指数
1
解决办法
318
查看次数

标签 统计

r ×2

dendrogram ×1

ggplot2 ×1

hclust ×1

pheatmap ×1