利用awk 对某一列数据取对数 | 您所在的位置:网站首页 › log为底的对数函数转换 › 利用awk 对某一列数据取对数 |
awk 具有内置算术函数log(x),以e 为底可以对数据取对数运算,而以其他数值为底进行取对数可以基于这一函数进行转换,譬如 以2为底取对数: log(x)/log(2)即可。 下面针对数据第二列进行取对数,(数据从第二行开始进行计算,第一行直接输出或跳过皆可) [raop@cluster 13:45:13 /share/nas1/raop/project]$cat test.xlsGene FCA 2B 1.5C 0.3D 10对数据第一行NR==1 变形输出 Gene\tlog2(FC) 对数据其他行NR!=1 第二列进行对数运算log($1)/log(2) [raop@cluster 13:50:55 /share/nas1/raop/project]$awk '{if(NR==1)print $1"\tlog2("$2")";if(NR!=1)print $1"\t"log($2)/log(2)}' test.xlsGene log2(FC)A 1B 0.584963C -1.73697D 3.32193awk 还涉及其他的一些函数: atan2(x,y) y,x范围内的余切 cos(x) 余弦函数 exp(x) 求幂 int(x) 取整 log(x) 自然对数 rand() 随机数 sin(x) 正弦 sqrt(x) 平方根 srand(x) x是rand()函数的种子皆可参考对数据进行处理 |
CopyRight 2018-2019 实验室设备网 版权所有 |