首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用R优雅的批量计算相关性

使用R优雅的批量计算相关性

作者头像
R语言数据分析指南
发布于 2022-09-21 07:03:11
发布于 2022-09-21 07:03:11
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

❝本节来介绍如何通过R来批量做相关性分析,将通过两个小例子来进行介绍,1个for循环与另一个tidyverse体系;

加载R包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(tidyverse)
library(magrittr)
library(ggstatsplot)

案例一

导入数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Bats <- read.csv(file = "Bats_data.csv", header = T, stringsAsFactors = F)

Bats_subset <- select(Bats, Activity, Area.thinned:Distance.creek.water)

构建容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rows <- ncol(Bats_subset) - 1

Correlations <- data.frame(
  variable = character(length = rows),
  correlation = numeric(length = rows),
  stringsAsFactors = F
)

循环计算相关性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for (i in 1:rows) {
  temp1 <- colnames(Bats_subset[i + 1])
  temp2 <- cor(Bats_subset[, 1], Bats_subset[, i + 1], method = "pearson")
  Correlations[i, 1] <- temp1
  Correlations[i, 2] <- temp2
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 variable correlation
1          Area.thinned -0.40890389
2    Time.since.thinned -0.02135752
3     Exclusion.thinned  0.17562438
4 Distance.murray.water -0.18071570
5  Distance.creek.water -0.09130258

案例二

❝此处计算单个基因与其余全部基因的相关性,小编在此介绍如何不使用循环用tidyverse体系函数来进行计算 ❞

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
read_tsv("data.xls") %>% column_to_rownames(var="TCGA_id") %>% 
  pivot_longer(-B2M) %>% 
  pivot_longer(names_to = "name_2", values_to = "value_2",B2M) %>%
  group_by(name_2,name) %>% 
  summarise(cor= cor.test(value_2,value,method="spearman")$estimate,
            p.value = cor.test(value_2,value,method="spearman")$p.value) %>% as.data.frame() %>% 
  set_colnames(c("gene_1","gene_2","cor","pvalue")) %>% 
  filter(pvalue < 0.05) %>% 
  arrange(desc(abs(cor)))%>% 
  dplyr::slice(1:500)

❝可以看到与B2M相关性最高的为APOBEC3H基因 ❞

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   gene_1 gene_2     cor   pvalue
   <chr>  <chr>    <dbl>    <dbl>
 1 B2M    APOBEC3H 0.577 1.48e-25
 2 B2M    XCL2     0.577 1.51e-25
 3 B2M    KIR2DL4  0.565 2.31e-24
 4 B2M    TIFAB    0.565 2.63e-24
 5 B2M    XCL1     0.561 5.92e-24
 6 B2M    FUT7     0.558 1.21e-23
 7 B2M    ZBED2    0.557 1.57e-23
 8 B2M    IFNG     0.526 8.71e-21
 9 B2M    NCR3     0.524 1.39e-20
10 B2M    SSTR3    0.506 4.22e-19

数据可视化

❝此处用ggstatsplot包来进行结果的展示真是方便至极 ❞

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df2 <- read_tsv("data.xls")

ggscatterstats(data = df2,y = B2M,x=APOBEC3H,
               centrality.para = "mean",
               margins = "both",                                       
               xfill = "#CC79A7", 
               yfill = "#009E73", 
               marginal.type = "histogram")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
R自定义构建函数绘制相关性条形图
构建好绘图函数后让我们来进行可视化的操作,由于原始数据较多在此我们筛选一部分数据进行可视化操作
R语言数据分析指南
2022/09/21
4750
R自定义构建函数绘制相关性条形图
R自定义构建函数与批量绘图
上述代码我们将绘图代码打包成了一个函数,通过函数要绘制其它基因之间的关系就大大简化了代码,并可进行重复性操作
R语言数据分析指南
2022/09/21
8270
R自定义构建函数与批量绘图
ggplot2优雅绘制相关性网络热图(批量修改字符)
R语言数据分析指南
2024/07/02
3830
ggplot2优雅绘制相关性网络热图(批量修改字符)
浅谈R中相关性网络热图绘制小细节
❝最近在绘制相关性网络热图的时候突然有一个小的发现,可以使用相关性热图的数据来结合「linkET」来绘图,以前一直认为为必须使用「mantel_test」才行;果然绘图还得多思考;本节就来通过一个案例将两份数据结合起来进行绘图;
R语言数据分析指南
2022/12/20
3.2K2
浅谈R中相关性网络热图绘制小细节
R优雅绘制小样本间相关性网络图
报错信息表明rcorr函数在尝试计算Spearman相关性时遇到了问题,原因是数据中的某些变量(列)的观测值数量不足以进行相关性分析。具体来说rcorr 函数要求每个变量至少有5个观测值来计算相关性。
R语言数据分析指南
2024/01/23
6220
R优雅绘制小样本间相关性网络图
「R」数据可视化13 : 相关性图
在生物信息领域我们常常使用R语言对数据可视化。在对数据可视化的时候,我们需要明确想要展示的信息,从而选择最为合适的图突出该信息。本系列文章将介绍多种基于不同R包的作图方法,希望能够帮助到各位读者。
王诗翔呀
2020/07/06
2.9K0
「R」数据可视化13 : 相关性图
[会员专享] ggplot2组合绘制相关性箱线图
R语言数据分析指南
2023/08/18
4080
[会员专享] ggplot2组合绘制相关性箱线图
【画图】如何批量展现基因表达相关性?
现在已经有明确的实验证明,跟SARS病毒一样,新冠状病毒2019-nCoV与宿主细胞的ACE2受体结合[1]。上次教程已经给大家演示了,GTEx数据库有人各组织中基因表达谱数据,下载整理这个数据可以绘制出ACE2受体在人体组织中的表达量情况以及可能的功能有哪些。
Chris生命科学小站
2023/02/28
4920
【画图】如何批量展现基因表达相关性?
跟着Forest Ecol Mang学作图:R语言ggplot2作图展示相关性分析结果
期刊 Forest Ecology and Management 农林科学二区top 影响因子3.55
用户7010445
2022/01/05
9260
跟着Forest Ecol Mang学作图:R语言ggplot2作图展示相关性分析结果
相关性矩阵图绘制方法大汇总!!
在一些学术论文中,经常会看到用「相关性矩阵(correlation matrix)」 去表示数据集中每队数据变量间的关系,可以实现对数据集大致情况的一个快速预览,常常用于探索性分析。本期推文,小编就汇总一下相关性矩阵的R和Python的绘制方法。
DataCharm
2021/12/01
1.7K0
相关性矩阵图绘制方法大汇总!!
生信技能树-day19 转录组下游分析-标准化、聚类、差异分析
• 测序深度:每个样本的测序深度(产生的数据量)不完全一样,同一条件下,测序深度越深,基因表达的read读数越多。
生信菜鸟团
2024/06/25
2.2K1
生信技能树-day19 转录组下游分析-标准化、聚类、差异分析
单细胞入门之Seurat标准流程
曾老师的单细胞视频看好几遍了,但是关于单细胞的代码一句也没写过。。。主要原因是一直没有这方面的需求。。
医学和生信笔记
2022/11/15
3.7K0
单细胞入门之Seurat标准流程
基因在任意癌症表达量相关性
第四单元第一讲:计算基因在任意癌症表达量相关性 课程链接在:http://jm.grazy.cn/index/mulitcourse/detail.html?cid=53 从题目可以看到,这次的主角有
生信技能树jimmy
2020/03/30
1.1K0
lncRNA实战项目-第六步-WGCNA相关性分析
WGCNA将lncRNA分成18个模块(3635个lncRNA),空间模块中lncRNA表达呈现明显的组织区域特异性,如:CB (M1, 794个lncRNAs),DG/CA1 (M2, 443个lncRNAs), CA1 (M4, 369个lncRNAs),neocortex (M7, 123个lncRNAs)和OC (M10,57个lncRNAs)。时间模块中lncRNA表达与年龄有关,而与组织区域不明显;性别模块中lncRNA表达与性别和年龄都相关。每个模块就必须做pathway/go等数据库的注释分
生信技能树
2018/03/05
5.2K0
lncRNA实战项目-第六步-WGCNA相关性分析
Giotto|| 空间表达数据分析工具箱
Seurat 新版教程:分析空间转录组数据(上) Seurat 新版教程:分析空间转录组数据(下) scanpy教程:空间转录组数据分析 10X Visium:空间转录组样本制备到数据分析 空间信息在空间转录组中的运用
生信技能树jimmy
2021/01/12
4.2K0
Giotto|| 空间表达数据分析工具箱
RNA-seq 231023
参考https://www.zhihu.com/people/gu_chen/posts?page=2
素素
2023/10/31
5680
机器学习学术速递[10.22]
【1】 Generative Adversarial Graph Convolutional Networks for Human Action Synthesis 标题:用于人体动作综合的生成式对抗性图卷积网络 链接:https://arxiv.org/abs/2110.11191
公众号-arXiv每日学术速递
2021/11/05
1.2K0
相关推荐
R自定义构建函数绘制相关性条形图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档