前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言把otu表格的绝对丰度转换为相对丰度

R语言把otu表格的绝对丰度转换为相对丰度

作者头像
用户7010445
发布2024-06-18 17:51:51
1070
发布2024-06-18 17:51:51
举报

otu表格的格式是每行是一个微生物,每列是一个样本,如下截图

image.png

相对丰度就是 在这个样本中微生物的绝对丰度除以这个样本中所有微生物绝度丰度的和

用R语言的tidyverse包来实现,代码

首先是读取数据

代码语言:javascript
复制
library(tidyverse)
library(readxl)

df<-read_excel("D:/R_4_1_0_working_directory/env001/2024.data/20240609/example_otu.xlsx")

转换代码

代码语言:javascript
复制
new.df<-df %>% 
  pivot_longer(!otuID) %>% 
  group_by(name) %>% 
  mutate(total=sum(value)) %>% 
  mutate(relative_abun=value/total) %>% 
  pivot_wider(id_cols=c("otuID"),names_from = name,values_from = relative_abun)

new.df

基本的思路是:先把otu表格宽格式转换成长格式,然后根据样本分组求和,生成一个新的列,然后用绝对丰度值除以求和列得到相对丰度,最后再转换为长格式

导出excel

代码语言:javascript
复制
rio::export(new.df,file = "D:/R_4_1_0_working_directory/env001/2024.data/20240609/example_otu_relativeAbun.xlsx")

这里需要用到R包 rio 如果之前没有用过需要单独安装一下

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先是读取数据
  • 转换代码
  • 导出excel
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档