tidyverse使用推荐
liuian 2025-05-25 14:04 78 浏览
大家在获得了百迈客的分析报告后,需要筛选自己关注的相关结果。tidyverse包能够快速的帮助大家进行筛选。
tidyverse包中包含多种R包,如:ggplot、dplyr、readr、tidyr等。这些包使得日常的数据处理和绘图更加方便。
下面将介绍一些生信处理中实用的操作。
1、tidyverse包的安装
tips:可以设置一些镜像源,提高包的安装速度和成功率
options("repos" = c(CRAN="http://mirrors.cloud.tencent.com/CRAN/"))
options(BioC_mirror="http://mirrors.cloud.tencent.com/bioconductor")
install.packages("tidyverse")
2、快速筛选上下调基因
当获得了百迈客的差异分析结果,但是结果不理想时,需要自己调整差异筛选条件,
dplyr包能够方便操作。
dplyr包中常用的几个函数:
select:筛选相关的列
filter:筛选符合条件的行
mutate:在原有的数据上加一列
summarise:进行统计
group_by:对数据进行分组
rowwise:按行进行操作
利用filter可以在差异分析结果中快速筛选出显著差异的上下调基因。
读入数据:
> head(data)
# A tibble: 4 x 4
gene FDR P.Value logFC
<chr> <dbl> <dbl> <dbl>
1 gene1 0.02 0.006 0.3
2 gene2 0.003 0.005 0.7
3 gene3 0.002 0.0005 -0.48
4 gene4 0.301 0.13 -0.81
筛选上下调基因:
##筛选上调
gene_up <- data %>% filter(FDR<0.05 & logFC>0)
> gene_up
# A tibble: 2 x 4
gene FDR P.Value logFC
<chr> <dbl> <dbl> <dbl>
1 gene1 0.02 0.006 0.3
2 gene2 0.003 0.005 0.7
##筛选下调
gene_down <- data %>% filter(FDR<0.05 & logFC<0)
> gene_down
# A tibble: 1 x 4
gene FDR P.Value logFC
<chr> <dbl> <dbl> <dbl>
1 gene3 0.002 0.0005 -0.48
tips:%>%是管道符,作用和linux中的 | 一样。Rstudio中实用ctrl+shift+m能够快速输入。
筛选上下调基因并加上对应标签,使用mutate和case_when函数:
> data %>% mutate(class=case_when(
+ FDR<0.05&logFC>0~"up",
+ FDR<0.05&logFC<0~"down"
+ ))
# A tibble: 4 x 5
gene FDR P.Value logFC class
<chr> <dbl> <dbl> <dbl> <chr>
1 gene1 0.02 0.006 0.3 up
2 gene2 0.003 0.005 0.7 up
3 gene3 0.002 0.0005 -0.48 down
4 gene4 0.301 0.13 -0.81 NA
03
同名基因取均值或最大值
当拿到百迈客的基因表达谱之后,有时需要对同名基因进行处理。使用dplyr包中的group_by函数和acorss可以快速进行。
###数据
> gene_exp
# A tibble: 6 x 5
gene A B C D
<chr> <dbl> <dbl> <dbl> <dbl>
1 gene 1 1 2 3 4
2 gene 1 4 3 2 1
3 gene 2 2 3 4 5
4 gene 2 0 4 3 2
5 gene 2 3 2 4 2
6 gene 3 3 4 2 1
以均值作为表达值
> gene_exp %>% group_by(gene) %>% summarise(across(where(is.numeric),mean))
`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 3 x 5
gene A B C D
<chr> <dbl> <dbl> <dbl> <dbl>
1 gene 1 2.5 2.5 2.5 2.5
2 gene 2 1.67 3 3.67 3
3 gene 3 3 4 2 1
以最大值作为表达值
> gene_exp %>% group_by(gene) %>% summarise(across(A:D,max))
`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 3 x 5
gene A B C D
<chr> <dbl> <dbl> <dbl> <dbl>
1 gene 1 4 3 3 4
2 gene 2 3 4 4 5
3 gene 3 3 4 2 1
这边使用了across的两种方式筛选需要处理的列:
1. 使用数据类型,对所有满足要求的列进行处理,如:where(is.numeric),就是对所有的数字类型的列进行处理
2. 使用列名进行选择,对选择的列进行处理,如:A:D,就是对A到D列进行处理
04
按行对数据进行处理
计算每行的均值
> gene_exp %>% rowwise(gene) %>% mutate(avg=mean(c_across(is.numeric)))
# A tibble: 6 x 6
# Rowwise: gene
gene A B C D avg
<chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 gene 1 1 2 3 4 2.5
2 gene 1 4 3 2 1 2.5
3 gene 2 2 3 4 5 3.5
4 gene 2 0 4 3 2 2.25
5 gene 2 3 2 4 2 2.75
6 gene 3 3 4 2 1 2.5
利用rowwsie,可以将数据按行进行处理,默认是按列进行处理
5、提取通路中涉及的基因
百迈客的通路富集结果中包含许多信息,有时想快速了解相关通路涉及基因时。利用tidyr包中的函数能够方便清理数据,使得数据更加规整。其中separate_rows函数能够将某列中数据按字符分割成多行,利用这个函数能够快速提取富集到通路的相关基因。
> data
# A tibble: 1 x 2
GO Gene_ID
<chr> <chr>
1 Go1 Gene 1;Gene 2;Gene 3
> data %>% separate_rows(Gene_ID,sep=";")
# A tibble: 3 x 2
GO Gene_ID
<chr> <chr>
1 Go1 Gene 1
2 Go1 Gene 2
3 Go1 Gene 3
好了,今天tidyverse包的简单使用就介绍到这。如果你觉得上面的操作不能满足你的分析需要,你可以访问我们的百迈客云平台,上面有诸多工具,总有一款适合你
https://international.biocloud.net/zh/software/tools/list。
参考书籍:
1. Hadley Wickham: R for Data Science.
相关推荐
- 最新款手机vivo(vivo最新款手机及价格表)
-
vivoX60Pro+、vivoX70Pro、vivoX60、vivoX70、vivoX70Pro+、vivoiQOO7、vivoiQOO7Pro、vivoIQOO8、viv...
- oppo万能密码6位密码(oppo手机6个数万能密码)
-
oppo手机6位数万能密码是:67766776,但是不要轻易尝试,因为当输入这个密码之后没你的手机就会自动关机,之后会自动重启开机,然后你的手机密码都会变成预设的状态,当手机变成预设密码状态之后,我们...
- 系统重装win10专业版官网(重装系统win10专业版步骤和详细教程)
-
win10重装系统后也需要安装硬件驱动的,不过win10自带的系统更新会主动扫描硬件并下载适配的硬件驱动程序,再自动安装,所以win10在装驱动这方面比之前的Windows系统方便得多。win10安装...
-
- u盘文件恢复工具破解版免费(u盘文件恢复工具软件)
-
迷你兔数据恢复提供了免费版供大家试用,这个免费版只是有恢复额度上的限制,其他方面基本上与正版是一样的,你可以用来感受一下步骤/方式1免费恢复u盘数据的方法如下:第1步:关闭软件的注册页面,选择免费试用。在扫描页面,选择要扫描的所有文件类型,...
-
2026-01-11 06:55 liuian
- win10密钥在哪里买(win10系统密钥在哪儿买)
-
Windows密钥的正规获取渠道有以下几种:1.购买正版Windows操作系统。在微软官方网站或授权的经销商处购买正版Windows操作系统,可以获得正规的密钥。2.从计算机制造商处获取。一些品牌...
- 万能声卡驱动器官方下载win10
-
重新安装声卡驱动的方法如下:1.首先需要确定你的声卡品牌和型号,在设备管理器中搜索声卡,展开此项,可以看到声卡的品牌和型号。2.在浏览器中搜索所需的驱动程序,例如你的声卡型号是RealtekHi...
-
- usb驱动程序在哪里(usb驱动叫什么名字)
-
U盘添加驱动号或路径的方法如下在我的电脑上按右键,在快捷菜单里,选择“管理”,打开“计算机管理”窗口。在计算机管理窗口里,选择“存储”下面的“磁盘管理”,如果看得到没有盘符的U盘,那么在这个U盘上按鼠标右键,选择“更改驱动器名称和路径”选项...
-
2026-01-11 05:05 liuian
- 美德少年事迹材料(美德少年事迹材料500字左右)
-
就写平时做了什么好事就可以了。他们分别是许昌市文化街小学六(1)班学生谭天、许昌市第一中学七(12)班学生安家宝。现年12岁的谭天是一个阳光男孩儿,他性格活泼,热情开朗,富有爱心,品学兼优,有较强的集...
- win7万能网卡驱动离线版安装包
-
要使用Win7网卡驱动离线包,首先将离线包下载到计算机上。然后,打开设备管理器,找到你的网卡设备。右键点击该设备,选择“更新驱动程序软件”。在弹出的对话框中,选择“浏览计算机以查找驱动程序软件”。然后...
-
- 音频驱动器怎么安装(音频驱动程序怎么安装)
-
1、在浏览器中输入并搜索,然后下载并安装。2、安装完成后打开360驱动大师,它就会自动检测你的电脑需要安装或升级的驱动。3、检测完毕后,我们可以看到我们的声卡驱动需要安装或升级,点击安装或升级,就会开始自动安装或升级声卡了。4、升级过程中会...
-
2026-01-11 02:55 liuian
- win11要不要升级
-
答案是:不必强更,稍安勿躁。 没错,Windows11系统的确是微软的最新力作,其中安卓APP可以在桌面系统中直接使用的“噱头”也极有吸引力,但是,按照win10更新后bug层出不穷的情况来看,正...
- windows7联想旗舰版(联想win7旗舰版配置)
-
你好!联想Windows7旗舰版并不是一个显示设备,而是一个操作系统。因此,无法用英寸来描述其大小。旗舰版是指Windows7操作系统的最高版本,具有更多的功能和特性与其他版本不同。Windows...
- 一周热门
-
-
飞牛OS入门安装遇到问题,如何解决?
-
如何在 iPhone 和 Android 上恢复已删除的抖音消息
-
Boost高性能并发无锁队列指南:boost::lockfree::queue
-
大模型手册: 保姆级用CherryStudio知识库
-
用什么工具在Win中查看8G大的log文件?
-
如何在 Windows 10 或 11 上通过命令行安装 Node.js 和 NPM
-
威联通NAS安装阿里云盘WebDAV服务并添加到Infuse
-
Trae IDE 如何与 GitHub 无缝对接?
-
idea插件之maven search(工欲善其事,必先利其器)
-
如何修改图片拍摄日期?快速修改图片拍摄日期的6种方法
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
