能否提供一个完整的R语言代码示例,用于对Framingham心脏研究的数据集进行K-means聚类分析?
时间: 2024-12-23 20:15:57 浏览: 14
当然可以。以下是使用R语言对Framingham心脏研究数据集进行K-means聚类分析的一个简单例子。首先,你需要安装并加载必要的包,如`dplyr`、`ggplot2`和`cluster`。假设你已经有一个名为`framingham_data.csv`的CSV文件,包含了数据。
```R
# 安装并加载需要的库
install.packages(c("tidyverse", "cluster"))
library(tidyverse) # 包含dplyr和ggplot2
library(cluster)
# 加载数据
data <- read.csv("framingham_data.csv") # 替换为你数据的实际路径
# 预处理数据(例如,仅选择用于聚类的变量)
select_features <- c("age", "cholesterol", "blood_pressure", "smoker", ...) # 根据实际特征替换
framingham_cleaned <- data %>% select(select_features) %>%
na.omit() # 删除缺失值
# 确定K值(聚类的数量),可以根据数据和业务需求调整
k <- 5 # 假设我们想要分成5个簇
# 对数据进行标准化,因为K-means对数值敏感
framingham_scaled <- scale(framingham_cleaned)
# 进行K-means聚类
kmeans_model <- kmeans(framingham_scaled, centers = k)
# 查看结果
summary(kmeans_model)
# 可视化聚类结果
ggplot(framingham_scaled, aes(x = age, y = cholesterol, color = factor(kmeans_model$cluster))) +
geom_point(size = 3) +
labs(title = "Framingham Heart Study Clustering by K-Means")
#
阅读全文