df_kegg = read.table('kegg_for_stamp_level2.xls',header = T,sep = ' ',row.names = 1,check.names = F)
head(df_kegg)
In [2]:
df_taxon = read.table('phylum.taxon.Abundance.xls',header = T,sep = ' ',row.names = 1,check.names = F)
head(df_taxon)
Out[2]:
2. 物种数据过滤
过滤掉'All'行和'Abundance','superkingdom'列
最大值 是 All行Abundance列
In [3]:
df_taxon = subset(df_taxon,Abundance>1000 & Abundance < max(df_taxon$Abundance) ,select = c(-Abundance,-superkingdom))
head(df_taxon)
Out[3]:
spearman是非参数的,不要求数据必须是正态分布,也不要求方差具有齐性。
In [4]:
df_cor = apply(df_taxon,1,function(x){ apply(df_kegg,1,function(y)cor(x,y, method = "spearman")) })
head(df_cor)
Out[4]:
In [5]:
df_pvalue = apply(df_taxon,1,function(x){ apply(df_kegg,1,function(y)cor.test(x,y, method = "spearman")$p.value) })
head(df_pvalue)
Out[5]:
display = df_pvalue
display[which(display < 0.001)] = "***"
display[which(display < 0.01)] = "**"
display[which(display > 0.01 & display < 0.05)] = "*"
display[which(display >= 0.05)] = ""
head(display)
In [9]:
fontsize_row = 8, fontsize_col = 5,
cluster_rows = T, cluster_cols = T, display_numbers = display)
Out[9]:
df_pvalue = subset(df_pvalue,apply(df_pvalue,1,min)<0.05)
df_pvalue
In [11]:
df_cor = df_cor[rownames(df_pvalue),]
df_cor
Out[11]:
In [12]:
display = df_pvalue
display[which(display < 0.001)] = "***"
display[which(display < 0.01)] = "**"
display[which(display > 0.01 & display < 0.05)] = "*"
display[which(display >= 0.05)] = ""
修改字体大小,修改cell宽度和高度,添加border颜色,添加title,直接生成pdf文件,设置pdf中图片的宽度和高度。
In [13]:
pheatmap(df_cor, fontsize_row = 8, fontsize_col = 5,cellwidth = 15,cellheight = 40,border_color = 'RED',
cluster_rows = T, cluster_cols = T, display_numbers = display,
main='phylum.taxon_kegg.Correlation_p0.05', file='phylum.taxon_kegg.Correlation_p0.05.pdf',width = 10,height=10)
Out[12]:
关注“上海天昊生物”公众号,
回复关键字“相关性”,
获取文章链接,数据和代码的百度云盘链接。
往期相关链接:
1、R基础篇
2、R进阶
【绘图进阶】之六种带中心点的PCA 图和三维PCA图绘制(四);
【绘图进阶】之交互式可删减分组和显示样品名的PCA 图(三);
3、数据提交
3分钟学会CHIP-seq类实验测序数据可视化 —IGV的使用手册;
10分钟搞定多样性数据提交,最快半天内获取登录号,史上最全的多样性原始数据提交教程;
20分钟搞定GEO上传,史上最简单、最详细的GEO数据上传攻略;
4、表达谱分析
5、医学数据分析
【本群将为大家提供】
分享生信分析方案
提供数据素材及分析软件支持
定期开展生信分析线上讲座
QQ号:1040471849
作者:大熊
审核:有才
来源:天昊生信团
微信扫一扫
关注该公众号
前往“发现”-“看一看”浏览“朋友在看”