R语言简单聚类分析
2016-07-16 10:34
260 查看
#以R基础包自带的鸢尾花(Iris)数据进行聚类分析 iris data <- iris[,1:4] #系统聚类法(层次聚类法) distance <- dist(data) #计算距离 iris.hc <- hclust(distance) #聚类分析,计算距离方法是complete plot( iris.hc, hang = -1) #绘画系谱图 re <- rect.hclust(iris.hc, k = 3) #分为三类 iris.id <- cutree(iris.hc, 3) #生成列联表 将iris.id与iris中Species作比较发现:1应该是setosa类,2应该是virginica类(因为virginica的个数明显多于versicolor),3是versicolor。 table(iris.id, iris$Species) iris.hc1 <- hclust(distance,method="single") plot(iris.hc1, hang = -1) #绘画系谱图 re1 <- rect.hclust(iris.hc1, k = 3) #分为三类 iris.hc2 <- hclust(distance,method="ward.D") plot(iris.hc2, hang = -1) #绘画系谱图 re2 <- rect.hclust(iris.hc2, k = 3) #分为三类 iris.id2 <- cutree(iris.hc2, 3) table(iris.id2, iris$Species) iris.hc3 <- hclust(distance,method="ward.D2") plot(iris.hc3, hang = -1) #绘画系谱图 re3 <- rect.hclust(iris.hc3, k = 3) #分为三类 iris.hc4 <- hclust(distance,method="average") plot(iris.hc4, hang = -1) #绘画系谱图 re4 <- rect.hclust(iris.hc4, k = 3) #分为三类 #plclust( iris.hc, labels = FALSE, hang = -1) #不推荐使用 # dist <- dist(data.frame(id=c(1,1,1,1),a=c(1,2,4,6),b=c(1,1,2,3),c=c(1,1,2,3))) #动态聚类(逐步聚类法) library("fpc") kmeans <- kmeans(na.omit(data), 3) plotcluster(na.omit(data), kmeans$cluster)
此处暂不截屏显示结果!
原文地址:http://blog.sciencenet.cn/blog-1114360-735780.html
相关文章推荐
- 【C语言基础】-02字符串和格式化输入/输出
- Hibernate配置级联的一些问题及cascade与inverse的详解
- Android消息推送
- Problem with Indigo and Gazebo 2.2
- Android开发--CardView使用
- nginx 配置wordpress固定链接(自定义)
- 利用xamp安装discuz出现图片显示不了
- SVN服务器搭建和使用(一)
- Python新手学习基础之数据类型——字符串类型
- 文成小盆友python-num10 socketserver 原理相关。
- 【干货】移动APP安全测试要点解析
- greenDao框架浅入深出 2
- 使用Maven实现Struts2+Hibernate4+Spring3整合SSH框架(三):将项目上传Github
- Mysql中文乱码问题完美解决方案
- bootstrap后台框架源码 java图片爬虫 自定义表单
- security information and event management 学习初探(一)
- LeetCode题解-112-Path Sum
- 算法的计算
- 1. git clone
- PHP switch的“高级”用法详解