前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >datamash

datamash

作者头像
生信喵实验柴
发布2022-10-25 19:28:22
5680
发布2022-10-25 19:28:22
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴

一、软件介绍

datamash 是 data 和 mash 的组合词语,data 是数据,mash 捣碎和调情的意思,这里边应该翻译捣碎更加贴切。它是一个 GNU 工具,和 Linux 一些基础命令类似,所以可以使用 yum或者 apt 直接安装。这样就可以在命令行中对数据进行各种处理了。那么通常都对数据要做哪些处理呢,最基础的当然就是四则运算:加减乘除,在稍微复杂点就是各种乘方开方取余操作,还有各种统计检验函数,更加复杂的就是分组计算以及数据透视等。可以将其看成一个命令行版本的 R 软件。

官网:https://www.gnu.org/software/datamash/

直接使用 apt 或者 yum 工具安装即可。如果不是管理员,可以使用 conda 安装更加方便。

代码语言:javascript
复制
#conda 安装
conda install -y datamash

二、使用案例

代码语言:javascript
复制
# 1 计算1-10的和与平均值
seq 10 | datamash sum 1 mean 1

#2 将数据进行转置
seq 10 | paste - - | datamash transpose
seq 10 | paste - - -  | datamash transpose

#3 按列计算,使用不同的语法
seq 100 | paste - - - - | datamash sum 1 sum 2 sum 3 sum 4
seq 100 | paste - - - - | datamash sum 1,2,3,4
seq 100 | paste - - - - | datamash sum 1-4
seq 100 | paste - - - - | datamash sum 1-3,4

#4 调整分隔符 
seq 10 | xargs -n 5 |datamash -W sum 2

#5 分组计算频数,根据第二列进行分组。如果计算其他值,只需更换函数就行
cat scores.txt | datamash  groupby 2 count 2

#6 根据第二列进行分组,计算第三列的最大值和最小值
cat scores.txt  | datamash --sort groupby 2 min 3 max 3

#6 输出表头
cat scores.txt | datamash --header-out groupby 2 min  3 max 3

#7 跳过第一行表头
cat scores_h.txt | datamash  groupby 2 min  3 max 3
cat scores_h.txt | datamash  --header-in groupby 2 mean 3

#8 使用列名代替列号,设置小数位点
cat scores_h.txt  |  datamash --headers groupby Major mean Score -R 2

#9 计算频数
cat genes_h.txt | datamash -s -g 3 count 3

#10 就算特异的频数
cat genes_h.txt | datamash -s -g 3 countunique 2

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。原地址暂未启用(bioinfoer.com)。

代码语言:javascript
复制
sx.voiceclouds.cn

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

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

本文分享自 生信喵实验柴 微信公众号,前往查看

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

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

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