我有一个文件,我必须用pval > 0.05
替换大于0.05(NA
)的pvalue,换句话说,保留pval < 0.05
并用{替换p val > 0.05
{1}}。
例如:
NA
输出:
Rv_FC Rv_Pval Gc_FC Gc_Pval ......
2 0.001 3 0.99
3 0.99 1 0.0002
3 0.0001 2 0.89
只应考虑pval列,如果它们的值是&gt; 0.05,应该用Rv_FC Rv_Pval Gc_FC Gc_Pval ......
2 0.001 3 NA
3 NA 1 0.0002
3 0.0001 2 NA
替换。
优势:pval列位于第3,第5,第7列...列..
答案 0 :(得分:1)
这个应该有效:
awk 'BEGIN{ OFS = "\t" }NR==1{ for ( i = 1; i <= NF; i++) if ( $i ~"Pval" ) a[i]; print $0}NR>1{for ( i in a ) if ( $i > 0.5 ) $i = "NA"; print $0 }' file
输出:
Rv_FC Rv_Pval Gc_FC Gc_Pval
2 0.001 3 NA
3 NA 1 0.0002
3 0.0001 2 NA