# 第7章 聚类分析
x1 = c(5,7,3,6,6)
x2 = c(7,1,2,5,6)
plot(x1,x2); text(x1,x2,rownames(1:5),adj=-0.5)
# 距离矩阵计算函数dist()的用法
dist(x, method="euclidean", diag=FALSE, upper=FALSE, p=2)
# x为数据矩阵,数据框,method为计算方法,包括"euclidean","maximum","manhattan","canberra","binary","minkowski"
# diag为是否包含对角线元素,upper为是否需要上三角,p为Minkowski距离的幂次
X = cbind(x1,x2)
dist(X, method="minkowski", p=2)
# 系统聚类函数hclust()的用法
hclust(d, method="complete", ...)
# d为相似矩阵,method为系统聚类方法,包括"ward","single","complete","average","mcquitty","median","centroid"
# 最短距离法-欧式距离
hc = hclust(dist(X), "single")
cbind(hc$merge, hc$height)
plot(hc)
# ward法-欧式距离
hc = hclust(dist(X), "ward.D")
cbind(hc$merge, hc$height)
plot(hc)
# 快速聚类函数kmeans()的用法
kmeans(x, centers, ...)
# x为数据矩阵或数据框,centers为聚类数或初始聚类中心
# 生成均值为0,标准差为0.3的100×10的正态随机矩阵
(x1 = matrix(rnorm(1000, mean=0, sd=0.3), n
x1 = c(5,7,3,6,6)
x2 = c(7,1,2,5,6)
plot(x1,x2); text(x1,x2,rownames(1:5),adj=-0.5)
# 距离矩阵计算函数dist()的用法
dist(x, method="euclidean", diag=FALSE, upper=FALSE, p=2)
# x为数据矩阵,数据框,method为计算方法,包括"euclidean","maximum","manhattan","canberra","binary","minkowski"
# diag为是否包含对角线元素,upper为是否需要上三角,p为Minkowski距离的幂次
X = cbind(x1,x2)
dist(X, method="minkowski", p=2)
# 系统聚类函数hclust()的用法
hclust(d, method="complete", ...)
# d为相似矩阵,method为系统聚类方法,包括"ward","single","complete","average","mcquitty","median","centroid"
# 最短距离法-欧式距离
hc = hclust(dist(X), "single")
cbind(hc$merge, hc$height)
plot(hc)
# ward法-欧式距离
hc = hclust(dist(X), "ward.D")
cbind(hc$merge, hc$height)
plot(hc)
# 快速聚类函数kmeans()的用法
kmeans(x, centers, ...)
# x为数据矩阵或数据框,centers为聚类数或初始聚类中心
# 生成均值为0,标准差为0.3的100×10的正态随机矩阵
(x1 = matrix(rnorm(1000, mean=0, sd=0.3), n
R语言中的聚类分析详解

本文详细介绍了在R语言中进行聚类分析的方法,包括使用dist()计算距离矩阵,hclust()进行系统聚类,以及kmeans()实现快速聚类。通过实例展示了不同聚类方法的应用,如最短距离法、ward法,并提供了全国区域经济的聚类分析案例。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



