次のようなcsvファイルがあります。
ID1 ID2 AVG1 AVG2
ENSG00000207447 RNU6-2 0.101431 0.163308
ENSG00000207427 SNORA51 0.096551 0
ENSG00000201784 SNORD14A 0.068653 0.0320985
ENSG00000207315 SNORA28 0 0.01936
ENSG00000207787 MIR98 0 0
とのlog2比率を計算し、各行の AVG 列の横に出力して、次のようにします。AVG1
AVG2
ID1 ID2 AVG1 AVG2 log2Ratio
ENSG00000207447 RNU6-2 0.101431 0.163308 2.0632577007
ENSG00000207427 SNORA51 0.096551 0 inf
ENSG00000201784 SNORD14A 0.068653 0.0320985 7.105015172
ENSG00000207315 SNORA28 0 0.01936 0
ENSG00000207787 MIR98 0 0 inf
私はもう試した
$ awk 'NF> 2 { ratio =($3/$4)/log(2) ; print $0, ratio }' testlog2.csv > testlog2_2.csv
and
$ awk 'BEGIN{OFS="\t"} {if ($4==0) {print $0, "inf"} else {print $0, ($3/$4)/log(2)}}' testlog2.csv > testlog2_2.csv
しかしawk
、分母が0の場合は常にクラッシュし続けます。それを回避する方法について何か提案があれば、それは素晴らしいでしょう.