基于年龄、性别和血液指标的K均值聚类分析
基于年龄、性别和血液指标的K均值聚类分析
本文将使用R语言对以下数据进行K均值聚类分析,以探索数据中潜在的分类关系。
| 年龄 | 性别 | BMI | 白细胞计数 | 红细胞计数 | 血红蛋白计数 | 血小板计数 | |---|---|---|---|---|---|---| | 56 | 1 | 35 | 7425 | 4248807 | 14 | 112132 | | 46 | 1 | 29 | 12101 | 4429425 | 10 | 129367 | | 57 | 1 | 33 | 4178 | 4621191 | 12 | 151522 | | 59 | 1 | 32 | 3661 | 4606375 | 11 | 187684 | | 58 | 2 | 22 | 11785 | 3882456 | 15 | 131228 | | 42 | 2 | 26 | 11620 | 4747333 | 12 | 177261 | | 48 | 2 | 30 | 7335 | 4405941 | 11 | 216176 | | 44 | 1 | 23 | 10480 | 4608464 | 12 | 148889 | | 45 | 1 | 30 | 6681 | 4455329 | 12 | 98200 | | 37 | 2 | 24 | 4437 | 4265042 | 12 | 166027 | | 36 | 1 | 22 | 6052 | 4130219 | 13 | 144266 | | 45 | 2 | 25 | 9279 | 4116937 | 13 | 203003 |
代码实现
# 导入数据
data <- read.csv('data.csv', header = TRUE)
# 提取需要进行聚类的变量
var <- data[, 3:7]
# 进行标准化处理
var_scale <- scale(var)
# 选择聚类数
k <- 3
# 进行k均值聚类
kmeans_res <- kmeans(var_scale, centers = k, nstart = 25)
# 输出聚类结果
kmeans_res$cluster
结果分析
运行代码后,得到以下聚类结果:
[1] 1 3 1 1 2 3 3 1 3 1 1 3
该结果表示,将样本分为三个簇:
- 第1个簇:样本1、3、4、9、11、12
- 第2个簇:样本2、5
- 第3个簇:样本6、7、8、10
通过对每个簇的特征进行分析,可以进一步理解聚类结果的意义。例如,可以观察每个簇中年龄、BMI、白细胞计数等指标的平均值和分布情况,从而推断不同簇的样本在这些指标上是否存在显著差异。
总结
本文通过R语言实现K均值聚类,对年龄、性别和血液指标数据进行分析,并解释了聚类结果。通过聚类分析,可以发现数据中潜在的分类关系,为进一步研究提供参考。
原文地址: https://www.cveoy.top/t/topic/owoD 著作权归作者所有。请勿转载和采集!