如何绘制簇内簇内平方和图?

2023-12-03

我有一个 R 的聚类图,同时我想用 wss 图优化聚类的“肘部准则”,但我不知道如何为给定的聚类绘制 wss 图,有人会帮助我吗?

这是我的数据:

Friendly<-c(0.467,0.175,0.004,0.025,0.083,0.004,0.042,0.038,0,0.008,0.008,0.05,0.096)
Polite<-c(0.117,0.55,0,0,0.054,0.017,0.017,0.017,0,0.017,0.008,0.104,0.1)
Praising<-c(0.079,0.046,0.563,0.029,0.092,0.025,0.004,0.004,0.129,0,0,0,0.029)
Joking<-c(0.125,0.017,0.054,0.383,0.108,0.054,0.013,0.008,0.092,0.013,0.05,0.017,0.067)
Sincere<-c(0.092,0.088,0.025,0.008,0.383,0.133,0.017,0.004,0,0.063,0,0,0.188)
Serious<-c(0.033,0.021,0.054,0.013,0.2,0.358,0.017,0.004,0.025,0.004,0.142,0.021,0.108)
Hostile<-c(0.029,0.004,0,0,0.013,0.033,0.371,0.363,0.075,0.038,0.025,0.004,0.046)
Rude<-c(0,0.008,0,0.008,0.017,0.075,0.325,0.313,0.004,0.092,0.063,0.008,0.088)
Blaming<-c(0.013,0,0.088,0.038,0.046,0.046,0.029,0.038,0.646,0.029,0.004,0,0.025)
Insincere<-c(0.075,0.063,0,0.013,0.096,0.017,0.021,0,0.008,0.604,0.004,0,0.1)
Commanding<-c(0,0,0,0,0,0.233,0.046,0.029,0.004,0.004,0.538,0,0.146)
Suggesting<-c(0.038,0.15,0,0,0.083,0.058,0,0,0,0.017,0.079,0.133,0.442)
Neutral<-c(0.021,0.075,0.017,0,0.033,0.042,0.017,0,0.033,0.017,0.021,0.008,0.717)

data <- data.frame(Friendly,Polite,Praising,Joking,Sincere,Serious,Hostile,Rude,Blaming,Insincere,Commanding,Suggesting,Neutral)

这是我的聚类代码:

cor <- cor (data)
dist<-dist(cor)
hclust<-hclust(dist)
plot(hclust)

运行上面的代码后我将得到一个树状图,而我如何绘制这样的图:

enter image description here


如果我遵循你的要求,那么我们需要一个函数来计算 WSS

wss <- function(d) {
  sum(scale(d, scale = FALSE)^2)
}

和一个包装器wss()功能

wrap <- function(i, hc, x) {
  cl <- cutree(hc, i)
  spl <- split(x, cl)
  wss <- sum(sapply(spl, wss))
  wss
}

该包装器采用以下参数和输入:

  • i将数据切割成的簇的数量
  • hc层次聚类分析对象
  • x原始数据

wrap然后将树状图切割成i簇,将原始数据分割为由下式给出的簇成员资格cl并计算每个集群的 WSS。这些 WSS 值相加得出该聚类的 WSS。

我们使用以下方式运行所有这些sapply超过簇数 1, 2, ...,nrow(data)

res <- sapply(seq.int(1, nrow(data)), wrap, h = cl, x = data)

可以使用以下方式绘制屏幕图

plot(seq_along(res), res, type = "b", pch = 19)

以下是使用著名的 Edgar Anderson Iris 数据集的示例:

iris2 <- iris[, 1:4]  # drop Species column
cl <- hclust(dist(iris2), method = "ward.D")

## Takes a little while as we evaluate all implied clustering up to 150 groups
res <- sapply(seq.int(1, nrow(iris2)), wrap, h = cl, x = iris2)
plot(seq_along(res), res, type = "b", pch = 19)

这给出:

enter image description here

我们可以通过仅显示前 1:50 簇来放大

plot(seq_along(res[1:50]), res[1:50], type = "o", pch = 19)

这使

enter image description here

您可以通过运行以下命令来加速主要计算步骤sapply()通过适当的并行替代方案,或者只进行少于nrow(data)集群,例如

res <- sapply(seq.int(1, 50), wrap, h = cl, x = iris2) ## 1st 50 groups
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何绘制簇内簇内平方和图? 的相关文章

  • 在seaborn中使用FacetGrid为所有方面重复x轴标签

    我正在与FacetGrid给出的例子here https seaborn pydata org examples kde ridgeplot html结果如下图所示 在我的数据集中 有相当多的图 如果有x每个面都重复轴标签 而不仅仅是在底部
  • ggplot2 的组合图(不在单个图中),使用 par() 或 layout() 函数? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用 par 或 layout 函数来组合 ggplots 可以使用这些功能吗 假设我想绘制 ggplot 散点图和 ggplot 直方图 我想将这两个地块合并起来 而不是在一个地块中 是否适用 我在
  • R 中具有 NA 值的聚合栅格

    我在 R 中有一个分辨率为 1 公里的栅格 其 NA 值分布广泛 但位置不规则 即 包含数据的单元格不连续 并且 NA 值分散 我正在尝试使用用户定义的平均圆角函数 包括在下面 以 5 公里分辨率 因子 5 聚合此栅格 使用 raster
  • data.frame 按列分组[重复]

    这个问题在这里已经有答案了 我有一个数据框 DF 说 DF 是 A B 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 现在我想将 A 列的行组合在一起 并得到 B 列的总和 例如 A B 1 1 5 2 2 3 3 3 11
  • 使用 geom_bar 和 stat="identity" 绘制平均值的 hline

    我有一个条形图 其中确切的条形高度位于数据框中 df lt data frame x LETTERS 1 6 y c 1 6 1 6 1 g rep x c a b each 6 ggplot df aes x x y y fill g g
  • 为 PDF 输出添加 natbib 选项

    有没有办法指定natibib输出 PDF 时的选项bookdown 我希望 tex 输出具有命令 usepackage sort compress natbib 但似乎没有任何方法可以在 YAML 中指定它 我无法将命令添加到我的序言中 因
  • 使用梯度下降(最速下降)估计线性回归

    示例数据 X lt matrix c rep 1 97 runif 97 nrow 97 ncol 2 y lt matrix runif 97 nrow 97 ncol 1 我已经成功创建了成本函数 COST lt function th
  • 聚类算法采用哪种编程结构

    我正在尝试实现以下 分裂 聚类算法 下面是该算法的简短形式 完整的描述可用here https dl dropboxusercontent com u 540963 diana pdf 从样本 x i 1 n 开始 将其视为由 n 个数据点
  • 为闪亮的应用程序创建桌面图标

    当我在基本 R 提示中提供以下代码时 我会在浏览器中打开一个闪亮的应用程序 shiny runApp C Myapp 我使用 Windows 7 我试图创建一个桌面图标 以避免我的客户每次想要使用该应用程序时都键入上述代码 我创建了一个桌面
  • corr.test 与 cor.test p 值

    我正在尝试使用 psych 包 psych 1 6 9 中的 corr test 但在使用 method spearman 时 它似乎给出了与 cor test 不同的 p 值 相关系数相同 但 p 值不同 我整理了一些示例代码和输出 如下
  • 使用 roxygen2 记录数据集

    我正在尝试使用 roxygen2 记录 R 包中的一些数据集 仅考虑其中之一 I have mypkg data CpG human GRCh37 RDa 其中包含一个名为的对象CpG human GRCh37 和一个名为 mypkg R
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是
  • R:使用 as.formula 修复模型中的模型调用

    我有一个gls模型 其中我将公式 来自另一个对象 分配给模型 equation lt as formula aic obj row model gt equation temp avg I year 1950 mod1 lt gls equ
  • ts(x) 中的错误:“ts”对象必须有一个或多个观察结果

    当我使用进行预测时forecast库 我注意到以下代码没有按预期运行 library forecast library dplyr df1 lt data frame gp gl 20 5 dt seq 1 100 get lt funct
  • 如何在shell脚本中运行R代码?

    我有一个 R 文件 myfile R 我想使用 shell 脚本来运行它 我怎样才能做到这一点 我试过这个 bin bash Rscript myfile R 但它给了我这个错误 Rscript 找不到命令 我也尝试过这个 bin bash
  • 当 header=TRUE 时 read.fwf 出错

    我的模拟数据如下所示 LastName Date email CreditCardNum AgeZip Amount Paul 21 02 14 email protected cdn cgi l email protection 4241
  • 在 R 中高效加载稀疏矩阵

    我在将数据有效加载到 R 中的稀疏矩阵格式时遇到问题 这是我当前策略的 不完整 示例 library Matrix a1 Matrix 0 5000 100000 sparse T for i in 1 5000 a1 i idxOfCol
  • R/ggplot2:如何匹配重叠区域图中的图例和绘图颜色?

    我有两个面积图 称为 蓝色 和 绿色 其中green大部分是在blue情节 但在极少数点上 它高于blue阴谋 我想使用透明度说alpha 0 2对于两者 并且还能够为每个指定颜色 我现在的问题是 自从green情节主要是在blue地块 其
  • R 中的微秒时间戳

    在 CSV 文件中 我有几列 其中一列有时间戳 其中每个时间戳是今天午夜经过的微秒 每个 csv 文件仅包含一天内的数据 因此这并不含糊 我的问题是 如何将这些微秒时间戳解析为 R 多谢 我的 CSV 文件的一部分 34201881666
  • 修改x轴刻度标签

    我正在尝试更改由生成的箱线图的 x 轴刻度标签ggplot2 x 轴是一个分类变量 HabFac 我想要的是将其刻度更改为 6 个化学品 A E 下面是我的代码 raw data read table Read data p TT ggpl

随机推荐

  • 如何根据部分文件名检查文件是否存在?

    我试图检查我的文件夹中是否存在文件 但我只有部分文件名来检查它 有没有办法检查它 例如我有以下内容 God of War 文件名实际上称为 God of War PSP USA rar file exists 函数是否有某种类似的功能 或者
  • 如何使用python OpenCV找到单通道图像中与特定值匹配的最大连通分量?

    因此 我有一个主要为 0 背景 的单通道图像 以及前景像素的一些值 如 20 21 22 非零前景像素大多与具有相同值的其他前景像素聚集在一起 然而 图像中存在一些噪点 为了消除噪音 我想使用连通分量分析 并且对于每个值 在本例中为 20
  • 纸浆 LP 最小化配制“选择一种类型”约束

    下面的代码用于运行 LP 最小化问题 其中我们有某些食物 它们的营养价值和成本 该代码当前在所呈现的状态下工作 我正在尝试添加另一种类型的约束 我将所有食物分为不同的类别 早餐 午餐 晚餐 零食 我想创建一个约束 其中Only 1早餐 午餐
  • 在 BIML 中的数据流之前创建表

    我正在使用 BIML 和 BIDSHelper 创建 SSIS 包 我正在尝试将数据从 csv 导入到 sql server 我想在数据流发生之前在目标数据库中创建表 这是我的代码
  • NSUserDefaults 与 sqlite3

    我有一个小型 iPhone 应用程序 用于存储对象列表 用户可以添加和删除对象 但此列表将仍然相当小 大多数用户将有 10 30 个对象 NSUserDefaults看起来更容易合作 但会sqlite3能更快吗 只有30条 记录 会有什么明
  • 是否可以嵌套 Angular2 应用程序

    假设我想构建一个可以插入第三方页面的 Angular2 应用程序 第三方页面可能已经使用 Angular2 可能有不同的版本 是否可以在第三方应用程序中引导我的 Angular 2 应用程序
  • Java 交叉编译 - 最新 JDK 的好处

    我维护一个 Java 应用程序 在分发它之前我总是使用 JDK 1 6 进行编译 因为这是我的应用程序所需的最低版本 我不使用任何更新的功能 我不认为在更高版本中编译它有什么意义 否则旧的 JRE 将无法运行它 即使用 Java 1 6 的
  • 变量的前后增量操作在 TC 和 gcc 上给出不同的输出[重复]

    这个问题在这里已经有答案了 这是我的简单代码 include
  • 如何从javascript同步调用indexeddb方法

    我有一种方法说method1在 javascript 中 有另一种方法说method2 call method2在 method2 调用之后返回 method1 中需要的一个值 var userObj first Key 1 value s
  • 尝试保存图像时出现异常

    启动 Java 应用程序时 我在尝试保存图像时遇到异常 然而 在 Eclipse 中 一切都工作正常 该应用程序是使用 fatjar 构建的 并且还选择了导出所需的库 jar imageio jar 和 ij jar 我尝试使用 Image
  • Java - 如何更改“本地”?事件监听器中的变量

    有一个简短的问题 我希望有人能回答 基本上我有一个字符串变量 需要根据组合框中的值进行更改 该组合框中附加了一个事件侦听器 但是 如果我将字符串定为最终的 那么它就无法更改 但如果我不将其定为最终的 那么 Eclipse 就会抱怨它不是最终
  • Alexa 是否/可以替换其为链接用户生成的 UserId?

    我们有一个利用 Alexa 技能的应用程序 其中包含用户详细信息的帐户链接 根据 Alexa 的帐户关联 文档 我们的技能是为帐户链接设置的 帐户链接又引用第三方 或者可能是内部 身份管理系统 IMS 进行用户身份验证 我们的应用程序 以及
  • R:当列数为素数时分割数据框

    我有一个data frame有 131 列 我需要将其分成大约 10 到 15 个变量的组 即按列拆分 而不是按行拆分 显然 由于 131 是素数 因此并非所有新数据帧的长度都可以相同 我在帖子中寻找答案 如何在R中将数据切成偶数块 在 R
  • 带步骤选项的 math.random 函数? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 一个自定义函数 它将返回一个随机数 并带有可用的步骤选项 如for环形 例子 for i 1 10 2 do print i end 你的意思是这样吗 function randomW
  • Spring Boot 与 Intellij IDE 的热插拔

    我有一个 Spring Boot 应用程序在 Intellij IDE 上运行良好 即我启动了具有委托给 SpringApplication run 的 main 方法的 Application 类 除了热插拔之外 一切都很好 当我更改源时
  • 为什么两种情况下的输出不同?

    即使变量已被覆盖 为什么在以下情况下输出不同 public class A int a 500 void get System out println a is this a public class B extends A int a 1
  • 强制 cpp_dec_float 向下舍入

    我在用 str n std ios base scientific 打印ccp dec floats 我注意到它四舍五入了 我在用cpp dec float对于会计 所以我需要向下舍入 如何才能做到这一点 它没有四舍五入 事实上 它是银行家
  • 带 if 语句的 auto 函数不会返回值

    我做了一个模板和一个auto比较 2 个值并返回最小的值的函数 这是我的代码 include
  • 使用 3d 数据和参数在 Scipy 中进行曲线拟合

    我正在努力在 scipy 中拟合 3d 分布函数 我有一个 numpy 数组 其中包含 x 和 y 仓中的计数 我试图将其拟合到相当复杂的 3 维分布函数中 该数据适合 26 个参数 这些参数描述了其两个组成群体的形状 我在这里了解到 当我
  • 如何绘制簇内簇内平方和图?

    我有一个 R 的聚类图 同时我想用 wss 图优化聚类的 肘部准则 但我不知道如何为给定的聚类绘制 wss 图 有人会帮助我吗 这是我的数据 Friendly lt c 0 467 0 175 0 004 0 025 0 083 0 004