对文件每行进行加和(从第一列开始)
awk '{for (i=1;i<=NF;i++)sum+=$i;print sum;sum=0}' data.txt
-------data.txt----------
code1 code2 code3
0.0588235294118 0.0285714285714
0.68 0.411764705882 0.142857142857
0.04 0.0588235294118 0.0285714285714
对文件每行进行加和(从第五列开始)
awk '{for (i=5;i<=NF;i++)sum+=$i;print sum;sum=0}' data.txt
-------data.txt------------
#Chr start end ID code1 code2 code3
1 882519 915493 region1 0.0588235294118 0.0285714285714
1 882519 994379 region2 0.68 0.411764705882 0.142857142857
1 915550 994379 region3 0.04 0.0588235294118 0.0285714285714
对文件每行进行标准差计算,并加到最后一列(从第一列开始)
awk '{for(i=1;i<=NF;i++){s+=$i;ss+=$i*$i}m=s/NF;$(NF+1)=sqrt(ss/NF-m*m);s=ss=0}1' data.txt
-------data.txt----------
code1 code2 code3
0.0588235294118 0.0285714285714
0.68 0.411764705882 0.142857142857
0.04 0.0588235294118 0.0285714285714
对文件每行进行标准差计算,并加到最后一列(从第五列开始)
awk '{for(i=5;i<=NF;i++){s+=$i;ss+=$i*$i}m=s/(NF-4);$(NF+1)=sqrt(ss/(NF-4)-m*m);s=ss=0}1' data.txt
-------data.txt------------
#Chrstart end ID code1 code2 code3
1 882519 915493 region1 0.0588235294118 0.0285714285714
1 882519 994379 region2 0.68 0.411764705882 0.142857142857
1 915550 994379 region3 0.04 0.0588235294118 0.0285714285714
网友评论