数据挖掘分析
-1.导入样本信息表
尽可能描述样本的表型特征
rename(group = 列名1,sample = 列名2)
-2导入表达矩阵
group = read.table(file = "dic/filename"
皮尔森相关系数
协方差+Z值表示基因之间的相关程度
计算样本之间的相关系数
cor(geneA,geneB) # 计算俩个向量的相关系数
cor(geneA,geneB,method = "spearman")
当出现NA值的时候需要先转换
cor(geneA,geneC,use = "complete.obs")
转换为df
将原始的数据转为需要分析的dataframe
-计算dateframe中,列之间的相关系数
cor(gene_eexp_test,use = "pairwise.complete.obs")
计算样本之间的相关系数
sample_cor=cor(gene_exp)
round(sample_cor,digits = 2)
画相关系数热图
?pheatmap # 查看帮助文档
library(pheatmap)
pheatmap(sample_cor,
cluster_row = F
clusert_cols = F
cellwidth = 15
cellheight = 15
border_color = white
angle_col = 45 # 行标签斜着
display _numbers = T
fontasize = 6
)
修改颜色
library(RColorBrewer)
my_col=brewer.pal(5,name=OrRd)
library(scales)
show_col(my_col)
距离矩阵和层次聚类
-计算样本之间的欧式距离
sample_dist=dist(t(sample_exp))
-层次聚类
plot(hclust(sample_dist))
-主成分分析(PCA)
library(PCAtools)
p1 = pca(gene_exp,removeVar = 0.3,metadata = sample_info,center = T, scale = T) # 表达矩阵的行名和样本表的列名要相同
-观察各个主成分的解释度,
取log值可以精确计算结果
screeplot(p1)
biplot(p1,
x = PC1,
y = PC2,
colby = group,
legendPosition = "right",
hline = 0,vline = 0,
encircle = T
)