R聚类分析Ward自动删除异常值
R cluster analysis Ward auto deleting outliers
我如何在 R 中编写代码以复制在 SAS 中完成的涉及的聚类分析
method=Ward 和 TRIM=10 选项自动删除 10% 的异常值? (此数据集有 45 个变量,每个变量都有一些离群值响应。)
当我使用 Ward 的方法搜索 R 聚类分析时,trim 选项被描述为缩短名称而不是删除异常值的选项。
如果我不 trim 聚类分析之前的数据集,则会出现一个大聚类,其中包含许多代表外围个体的单一案例 "clusters"。随着 10% 的异常案例被自动删除,出现了 3 或 4 个有意义的集群。变量和案例太多,我无法根据具体情况去除异常值。
谢谢!
您尚未提供有关如何识别异常值的任何信息。假设最简单的情况是删除每个变量的前 5% 和后 5% 的情况(即逐个变量),您可以使用 quantile
函数执行此操作。
使用上面 link 中的示例进行说明,您可以执行以下操作:
duration = faithful$eruptions
duration[duration <= quantile(duration,0.95) & duration > quantile(duration,0.05)]
我如何在 R 中编写代码以复制在 SAS 中完成的涉及的聚类分析 method=Ward 和 TRIM=10 选项自动删除 10% 的异常值? (此数据集有 45 个变量,每个变量都有一些离群值响应。)
当我使用 Ward 的方法搜索 R 聚类分析时,trim 选项被描述为缩短名称而不是删除异常值的选项。
如果我不 trim 聚类分析之前的数据集,则会出现一个大聚类,其中包含许多代表外围个体的单一案例 "clusters"。随着 10% 的异常案例被自动删除,出现了 3 或 4 个有意义的集群。变量和案例太多,我无法根据具体情况去除异常值。
谢谢!
您尚未提供有关如何识别异常值的任何信息。假设最简单的情况是删除每个变量的前 5% 和后 5% 的情况(即逐个变量),您可以使用 quantile
函数执行此操作。
使用上面 link 中的示例进行说明,您可以执行以下操作:
duration = faithful$eruptions
duration[duration <= quantile(duration,0.95) & duration > quantile(duration,0.05)]