在R语言中计算属水平物种与功能基因的相关性已经计算出了相关性是一个数据框和显著性P值是一个数据框想要筛选相关性大于08小于-08以及显著性P值小于005的数据根据筛选的数据绘制热图或者网图应该怎么做呢?
要筛选相关性大于0.8小于-0.8且显著性P值小于0.05的数据,可以按照以下步骤进行操作:
-
假设相关性数据框命名为cor_df,显著性P值数据框命名为pvalue_df。
-
使用subset()函数筛选出相关性大于0.8小于-0.8的数据,并将结果保存为一个新的数据框,命名为filtered_cor_df。
filtered_cor_df <- subset(cor_df, cor_value > 0.8 | cor_value < -0.8)
- 使用merge()函数将filtered_cor_df和pvalue_df根据相同的物种和功能基因列合并,得到筛选后的相关性和显著性P值数据框,命名为filtered_df。
filtered_df <- merge(filtered_cor_df, pvalue_df, by = c("species", "gene"))
- 使用heatmap()函数绘制热图,传入filtered_df的相关性值作为输入。
heatmap(filtered_df$cor_value, Rowv = NA, Colv = NA)
或者,使用igraph包绘制网络图,传入filtered_df的相关性值作为边的权重。
library(igraph)
graph <- graph_from_data_frame(filtered_df, directed = FALSE)
plot(graph, edge.width = E(graph)$cor_value)
注意:在绘制热图或者网络图之前,确保相关性数据和显著性P值数据的物种和功能基因列的命名是一致的,以便进行合并操作
原文地址: https://www.cveoy.top/t/topic/iFna 著作权归作者所有。请勿转载和采集!