# 生成测试数据
# 产生0-1之间均匀分布Uniform Distribution的数值
x = runif(10)
y = runif(10)
# 得到2维的数组:按列合并
S = cbind(x,y)
# 赋予名称,便于识别分类:生成Name1-Name10的系列名赋予数组行名
rownames(S) = paste("Name",1:10,"")
# 数值计算距离
out.dist=dist(S,method="euclidean")
# 注释:在聚类中求两点的距离有:
# 1,绝对距离:manhattan
# 2,欧氏距离:euclidean 默认
# 3,闵科夫斯基距离:minkowski
# 4,切比雪夫距离:chebyshev
# 5,马氏距离:mahalanobis
# 6,蓝氏距离:canberra
# 根据距离聚类
out.hclust=hclust(out.dist,method="complete")
# 注释:聚类中集合之间的距离:
# 1,类平均法:average
# 2,重心法:centroid
# 3,中间距离法:median
# 4,最长距离法:complete 默认
# 5,最短距离法:single
# 6,离差平方和法:ward
# 7,密度估计法:density
# 聚类结果绘图
plclust(out.hclust)
plclust有的版本不认别,可用plot代替
# 添加聚类分类矩形,如分为3类
rect.hclust(out.hclust, k=3)
# 得到分为3类的数值
out.id = cutree(out.hclust, k=3)
out.id
# 以矩阵的方式分辨名称对应的类
table(out.id,paste("Name",1:10,""))
直接返回的样本对应分组列表,可用table转换为矩阵格式
猜你喜欢
- 10000+: 菌群分析
宝宝与猫狗 提DNA发Nature 实验分析谁对结果影响大 Cell微生物专刊 肠道指挥大脑 - 系列教程:微生物组入门 Biostar 微生物组 宏基因组
- 专业技能:生信宝典 学术图表 高分文章 不可或缺的人
- 一文读懂:宏基因组 寄生虫益处 进化树
- 必备技能:提问 搜索 Endnote
- 文献阅读 热心肠 SemanticScholar Geenmedical
- 扩增子分析:图表解读 分析流程 统计绘图
- 16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
- 在线工具:16S预测培养基 生信绘图
- 科研经验:云笔记 云协作 公众号
- 编程模板: Shell R Perl
- 生物科普: 肠道细菌 人体上的生命 生命大跃进 细胞暗战 人体奥秘
写在后面
为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外2400+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
学习扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
点击阅读原文,跳转最新文章目录阅读
https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA