R 中水平树状图的树切割和簇周围的矩形

2023-11-26

我正在尝试绘制层次聚类的结果R作为树状图,用矩形标识簇。

以下代码适用于垂直树状图,但对于水平树状图,(horiz=TRUE),则不绘制矩形。有什么方法可以对水平树状图做同样的事情吗?

library("cluster")
dst <- daisy(iris, metric = c("gower"), stand = FALSE)
hca <- hclust(dst, method = "average")
plot(as.dendrogram(hca), horiz = FALSE)
rect.hclust(hca, k = 3, border = "red")

此外,我想绘制一条线,以所需的距离值切割树木。如何在 R 中绘制它cutree函数返回簇,但也可以绘制它。

cutree(hca, k = 3)

我正在寻找的所需输出是这样的。

dendrogram

如何在 R 中完成这个工作?


jlhoward 和 Backlin 的答案都很好。

您还可以尝试使用dendextend包,正是为这类事情而设计的。它有一个rect.dendrogram函数的工作原理如下rect.hclust,但带有水平参数(加上对矩形边缘位置的更多控制)。要查找相关高度,您可以使用heights_per_k.dendrogram函数(当同时使用时要快得多dendextendRcpp包裹)

这是一个简单的示例,说明如何获得与上述示例相同的结果(还有彩色分支的额外奖励,只是为了好玩):

install.packages("dendextend")
install.packages("dendextendRcpp")

library("dendextend")
library("dendextendRcpp")

# using piping to get the dend
dend <- iris[,-5] %>% dist %>% hclust %>% as.dendrogram

# plot + color the dend's branches before, based on 3 clusters:
dend %>% color_branches(k=3) %>% plot(horiz=TRUE, main = "The dendextend package \n Gives extended functionality to R's dendrogram object")

# add horiz rect
dend %>% rect.dendrogram(k=3,horiz=TRUE)

# add horiz (well, vertical) line:
abline(v = heights_per_k.dendrogram(dend)["3"] + .6, lwd = 2, lty = 2, col = "blue")

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中水平树状图的树切割和簇周围的矩形 的相关文章

随机推荐

  • xcode 多合一布局:在项目和调试页面之间切换的键盘快捷键?

    当您将 xcode 配置为使用 All in one 布局时 会出现一个切换开关 允许您在项目和调试 模式 之间切换 IDE 调用这些页面 是否有键盘快捷键可以执行切换 Project Cmd 0 zero Build Cmd Shift
  • 我可以同时安装 Ruby on Rails 2.x 和 Ruby on Rails 3

    我有一个 Ubuntu Rails 环境来使用 ROR 现在我正在运行 Rails 2 3 8 我想研究一下 Rails 3 是否可以并行运行两个开发环境 如果没有 如何清理 Rails 2 x 系统以安装 Rails 3 或者我需要安装一
  • 在 SQL Server 中保存日期

    我有一个遗留应用程序 其中输入是日期字符串 即 2009年6月12日 输入的格式始终是字符串 并且是一致的 始终是 dd mm yyyy 目前 遗留应用程序只是将其插入日期时间字段中 显然 如果服务器的本地化文化设置发生变化 我们有一个错误
  • 使用Git显示所有一级后代分支

    如何获取当前 HEAD 的一级后代分支的列表 我可以通过以下方式获取整棵树的列表 git log graph abbrev commit pretty decorate branches 这使 2eff4a7 refs heads issu
  • 为WPF中的所有元素事件添加监听器

    我想在一次调用中挂钩所有可用的元素事件 像这样的事情 elem AddHandler AnyRoutedEvent RoutedEventHandler handler 我怎样才能做到这一点 尝试此操作以获取按钮类型上的所有事件 您可以替换
  • Android:Process.myTid() VS Thread.currentThread().getId()

    我有简单的Activity那个叫AsyncTask 所以我打印一些关于Proces and Thread From onCreate android os Process myUid 10137 From onCreate android
  • PHP 连接到 firebase 是如何工作的?

    如果您有时间阅读firebase php文档 您可以看到如何使用帮助程序库 连接 到firebase 但不幸的是 我认为连接只能由 phpunit 建立 换句话说 输出只能在终端中看到 因为当你在浏览器中运行 php 页面时 它会返回致命错
  • AttributeError:模块“socket”没有属性“AF_PACKET”

    我正在使用 Python 构建一个数据包嗅探程序 但是我遇到了障碍 由于某种原因 我认为套接字没有正确导入 因为我的程序运行时收到以下消息 AttributeError module socket has no attribute AF P
  • 为什么 css "all: unset" 在 MacOS 的 Safari 浏览器中工作得很奇怪?

    所以基本上我做了这种情况 父级有cssall unset 然后我注意到当我使用 Safari 版本12 1 1 14607 2 6 1 1 它的所有子颜色只能受到以下影响 块 甚至不是内联或 important 但只有color行为方式就是
  • “迁移 Django 应用程序”是什么意思?

    我一直在思考很多的意义migrating a Django app在过去的几天里 听说了如何迁移 Django 应用程序南姜戈 也许只是缺乏足够的英语技能 因为英语不是我的母语 或者这是你在程序员生活中遇到的事情之一 这些事情非常简单 需要
  • 如何获取ListView项目的视图?

    我有两个 ListView A 和 B 其中包含相同类型的项目 我创建的类 当我单击 A 中的某个项目时 它会将该对象添加到 B 上 如果我再次单击 则会将其删除 只是当选择一个项目时 我使用 view setBackgroundColor
  • 如何使用 JQuery 更改 onClick 复选框的值?

    在这里 我尝试在单击以下复选框时更改其值 在下面的代码中 我尝试将复选框的值更改为 1 并在未选中时将值更改为 0 但它只需要 false 条件 当取消选中该复选框时 值会更改为 0 但选中时 它不会更改为 1 有什么建议如何解决此问题吗
  • 如何在 SceneKit 中的“自己”轴上移动旋转的 SCNNode?

    下图显示了一个旋转框 应在 X 轴和 Z 轴上水平移动 Y 应该不受影响 以简化场景 这个盒子也可能是相机的 SCNNode 所以我想此时投影没有意义 假设我们想要沿着红色箭头的方向移动盒子 如何使用 SceneKit 来实现这一点 红色箭
  • 具有 Robocopy 和参数传递的 Powershell

    我正在尝试编写一个使用的脚本robocopy 如果我只是手动执行此操作 我的命令将是 robocopy c hold test1 c hold test2 test txt NJH NJS 但是 当我从 powershell 执行此操作时
  • 如何存储CLLocationCooperative2D?

    我正在尝试构建一个应用程序 该应用程序可以构建和保存类似于绘制我的跑步路线的路线 我正在使用面包屑示例代码 特别是CrumbPath and CrumbPathView作为我路线的基础 来自 Apple 两个问题 如果我尝试访问MKMapP
  • 使用 C# 和 Google.Apis.YouTube.v3 列出 YouTube 视频

    我正在尝试使用最新版本的 Google Apis YouTube v3 截至 2014 年 1 月 15 日 执行一些 YouTube 视频交互 我已经完成了以下内容的 NuGet Google Apis YouTube v3 Google
  • 如何在 Python 中访问私有变量? [复制]

    这个问题在这里已经有答案了 class Car object def init self color engine oil self color color self engine engine self oil oil a Car bla
  • iPhone 的闪存有多少个编程/擦除周期? [关闭]

    Closed 这个问题是无关 目前不接受答案 不确定这是解决这个问题的正确网站 但由于这里有很多聪明人 也许有人知道 我正在构建一个需要连续捕获视频的应用程序 但只保留最后几分钟 比如 5 15 分钟 通过将视频分割为 30 秒的文件并删除
  • 如何仅使用 XPath 和 C# .NET 获取元素内容

    我找到了很多关于如何使用简单的XPath表达式和C 获取节点内容的文章 例如 XPath bookstore author first name C string xpathExpression bookstore author first
  • R 中水平树状图的树切割和簇周围的矩形

    我正在尝试绘制层次聚类的结果R作为树状图 用矩形标识簇 以下代码适用于垂直树状图 但对于水平树状图 horiz TRUE 则不绘制矩形 有什么方法可以对水平树状图做同样的事情吗 library cluster dst lt daisy ir