有两类错误:
1 拼写问题。有中文的引号、逗号、括号,替换一下就OK了。
2 hc1不存在的问题。hc1<hclust(Province)改成hc1<-hclust(Province)
X<-data.frame(
x1=c(0.68,0.58,4.25,1.98,1.31,2.40,1.53,2.22,1.03,4.21,3.07,3.57,2.06,2.48,5.49,5.29,3.07,3.66,5.44,2.64,0.49,1.60,4.81,2.14,2.89,0.20,2.06,1.47,0.33,0.37,1.15),
x2=c(0.34,0.23,0.78,0.51,0.33,0.54,0.37,0.43,0.39,1.02,0.55,0.54,0.37,0.56,1.07,1.06,0.76,0.83,1.57,0.44,0.10,0.34,0.71,0.19,0.31,0.01,0.47,0.28,0.05,0.06,0.24),
x3=c(0.52,0.22,0.29,0.22,0.24,0.42,0.19,0.28,0.38,0.72,0.52,0.30,0.33,0.24,0.65,0.53,0.49,0.39,0.83,0.30,0.05,0.25,0.50,0.21,0.24,0.01,0.29,0.17,0.04,0.04,0.23),
row.names=c("北京", "天津", "河北", "山西", "内蒙古", "辽宁", "吉林", "黑龙江", "上海", "江苏", "浙江", "安徽", "福建", "江西", "山东", "河南", "湖北", "湖南", "广东", "广西", "海南", "重庆", "四川", "贵州", "云南", "西藏", "陕西", "甘肃", "青海", "宁夏", "新疆")
)
####生成距离结构, 作系统聚类
Province<-dist(scale(X))
hc1<-hclust(Province)
hc2<-hclust(Province,"average")
hc3<-hclust(Province,"centroid")
hc4<-hclust(Province,"ward")
####绘出谱系图和聚类情况(最长距离法和类平均法)
opar<-par(mfrow=c(2,1),mar=c(5.2,4,0,0))
plclust(hc1,hang=-1)
rel<-rect.hclust(hc1,k=5,border="red")
plclust(hc2,hang=-1)
re2<-rect.hclust(hc2,k=5,border="red")
par(opar)
####绘出谱系图和聚类情况(重心法和Ward法)
opar<-par(mfrow=c(2,1),mar=c(5.2,4,0,0))
plclust(hc3,hang=-1)
re3<-rect.hclust(hc3,k=5,border="red")
plclust(hc4,hang=-1)
re4<-rect.hclust(hc4,k=5,border="red")
par(opar)