前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【R语言】百分比表格删除两行重新计算百分比

【R语言】百分比表格删除两行重新计算百分比

作者头像
生信交流平台
发布2022-09-21 16:37:48
1.2K0
发布2022-09-21 16:37:48
举报

好不容易算好的每个样本中检测到的微生物的百分比含量

发现前面两行一个是没有分类的类型,另外一个是无法比对到微生物物种上的。这两行需要删掉,这样每个样本中微生物的占比就需要重新计算了。删除之前,每个样本中微生物的占比为

下面我们用两种方法来实现

一、使用apply函数

代码语言:javascript
复制
#读入数据
a <- read.table(file="sample_bacteria_percentage.txt",sep="\t",header=T,row.names=1)
#删除前两行
b=a[-(1:2),]
#利用apply函数对列做处理,除以每列之和
result <- apply(b,2,function(x)x/(sum(x))*100)

#检查每列之和是不是100%
colSums(result)
#数据导出
write.table(result,file="remove_recal_percent1.txt",sep="\t",quote=F)

二、使用前面讲到过的R中的sweep函数

代码语言:javascript
复制
#读入数据
a=read.table("sample_bacteria_percentage.txt",header=T,sep="\t",row.names=1)
#删除前两行
b=a[-(1:2),]
#每个元素除以每列之和
result=sweep(b,2,colSums(b),"/")*100
#检查每列之和是不是100%
colSums(result)
#保存结果
write.table(file="remove_recal_percent2.txt",result,quote=F,sep="\t")

删除前两列之后,我们在来看一下每个样本中微生物的占比

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

本文分享自 生信交流平台 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档