R语言-聚类分析相关函数
来源:互联网 发布:曾经爆红的网络歌曲 编辑:程序博客网 时间:2024/06/08 18:38
scale(x,center=T,scale=T)#将中心化标准化
cor(x)#求计算相关系数
dist(x,method="euclidean")#计算各样本间的距离
hclust(d,method="complete")#d为dist()函数生成的对象
plot(hc)#画出谱系图,h是hclust()函数生成的对象
plclust(hc)#画出谱系图,h是hclust()函数生成的对象
#例1.
x<-c(1,2,6,8,11)
dim(x)<-c(5,1)
d<-dist(x)
hc1<-hclust(d,"single");hc2<-hclust(d,"complete")
hc3<-hclust(d,"median");hc4<-hclust(d,"average");
opar<-par(mfrow=c(2,2))
plot(hc1);plot(hc2)
plot(hc3);plot(hc4)
par(opar)
cophenetic(hc)#计算系统聚类的cophenetic距离,h是hclust()函数生成的对象
cor(d,dc)#d是dist()函数的距离,dc是cophenetic距离
#通常认为该相关系数越接近1,说明聚类方法就越好
#例2.(接着例1)
method<-c("single","complete","median","average")
cc<-numeric(0)
for(m in method){
dc<-cophenetic(hclust(d,m))
cc[m]<-cor(d,dc)
}
cc
as.dendrogram(object,hang=-1)#object是任何可强制转换成dendrogram的对象
#它的作用是将系统聚类得到的对象强制为谱系图
#例3.(接着例1)
dend1<-as.dendrogram(hc1)
opar<-par(mfrow=c(2,2),mar=c(4,3,1,2))
plot(dend1)
plot(dend1,nodePar=list(pch=c(1,NA),cex=0.8,lab.cex=0.8),type="t",center=T)
#center=T表示节点将被画在叶子分支的中心
plot(dend1,edgePar=list(col=1:2,lty=2:3),dLeaf=1,edge.root=T)
#dLeaf表示叶子与它的标记之间的距离
plot(dend1,nodePar=list(pch=2:1,cex=4*2:1,col=2:3),horiz=T)
#horiz=T表示水平放置谱系图
par(opar)
dendrapply(dend,FUN)#dend是dnedrogram函数的对象
cutree(hc,k=NULL,h=NULL)#tree是hclust函数生成的对象,k表示类的个数,h表示阈值,k和h必须指定一个
rect.hclust(tree,k=NULL,which=NULL,x=NULL,h=NULL)#tree,k,h的意义与cutree相同
#which和x表示围绕着哪一类画出矩形,which默认值是1:k,x是按水平坐标选择
kmeans(x,centers,iter.max=10,nstart=1,algorithm=c("Hartigan-Wong","Lloyd","Forgy","MacQueen"))
#centers为整数时表示聚类的个数,将随机产生聚类中心
#iter.max是最大迭代次数
#nstart是随机集合的个数,在centers为聚类个数时使用
fitted(km,method="centers,classes")#km是由kmeans函数生成的对象
cor(x)#求计算相关系数
dist(x,method="euclidean")#计算各样本间的距离
hclust(d,method="complete")#d为dist()函数生成的对象
plot(hc)#画出谱系图,h是hclust()函数生成的对象
plclust(hc)#画出谱系图,h是hclust()函数生成的对象
#例1.
x<-c(1,2,6,8,11)
dim(x)<-c(5,1)
d<-dist(x)
hc1<-hclust(d,"single");hc2<-hclust(d,"complete")
hc3<-hclust(d,"median");hc4<-hclust(d,"average");
opar<-par(mfrow=c(2,2))
plot(hc1);plot(hc2)
plot(hc3);plot(hc4)
par(opar)
cophenetic(hc)#计算系统聚类的cophenetic距离,h是hclust()函数生成的对象
cor(d,dc)#d是dist()函数的距离,dc是cophenetic距离
#通常认为该相关系数越接近1,说明聚类方法就越好
#例2.(接着例1)
method<-c("single","complete","median","average")
cc<-numeric(0)
for(m in method){
dc<-cophenetic(hclust(d,m))
cc[m]<-cor(d,dc)
}
cc
as.dendrogram(object,hang=-1)#object是任何可强制转换成dendrogram的对象
#它的作用是将系统聚类得到的对象强制为谱系图
#例3.(接着例1)
dend1<-as.dendrogram(hc1)
opar<-par(mfrow=c(2,2),mar=c(4,3,1,2))
plot(dend1)
plot(dend1,nodePar=list(pch=c(1,NA),cex=0.8,lab.cex=0.8),type="t",center=T)
#center=T表示节点将被画在叶子分支的中心
plot(dend1,edgePar=list(col=1:2,lty=2:3),dLeaf=1,edge.root=T)
#dLeaf表示叶子与它的标记之间的距离
plot(dend1,nodePar=list(pch=2:1,cex=4*2:1,col=2:3),horiz=T)
#horiz=T表示水平放置谱系图
par(opar)
dendrapply(dend,FUN)#dend是dnedrogram函数的对象
cutree(hc,k=NULL,h=NULL)#tree是hclust函数生成的对象,k表示类的个数,h表示阈值,k和h必须指定一个
rect.hclust(tree,k=NULL,which=NULL,x=NULL,h=NULL)#tree,k,h的意义与cutree相同
#which和x表示围绕着哪一类画出矩形,which默认值是1:k,x是按水平坐标选择
kmeans(x,centers,iter.max=10,nstart=1,algorithm=c("Hartigan-Wong","Lloyd","Forgy","MacQueen"))
#centers为整数时表示聚类的个数,将随机产生聚类中心
#iter.max是最大迭代次数
#nstart是随机集合的个数,在centers为聚类个数时使用
fitted(km,method="centers,classes")#km是由kmeans函数生成的对象
1 0
- R语言-聚类分析相关函数
- R语言实现聚类分析
- R语言 聚类分析
- R语言-聚类分析
- R语言 聚类分析
- R语言聚类分析
- R语言实战 聚类分析
- r语言聚类分析
- R语言 : 层次聚类分析
- R语言学习之聚类分析
- R语言实现层次聚类分析
- R语言 pca相关函数
- R语言画聚类分析树形图
- 聚类分析之R语言篇 (Kmeans)
- R语言-回归分析相关函数
- 多元统计分析及R语言建模-第7章 聚类分析
- 一个用R语言进行聚类分析的例子
- R语言做聚类分析Kmeans时确定类的个数
- MySQL索引的类型
- 推荐几款实用的Android Studio 插件
- rsync安装配置
- 架构设计:系统间通信(20)——MQ:消息协议(下)
- 用nat123+tomcat 发布网站
- R语言-聚类分析相关函数
- Android 相机调用简化工具
- hdu 1028 Ignatius and the Princess III
- GPIO_Mode 设置
- Codeforces report
- 基础级-增删改查
- uva10163 双重dp
- Apache Storm 命令行操作
- 排序算法-基数排序