我有一个文件,我必须将大于 0.05 ( pval > 0.05
) 的 pvalue 替换为 NA
,换句话说保留pval < 0.05
并替换 p val > 0.05
与 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
输出:
Rv_FC Rv_Pval Gc_FC Gc_Pval ......
2 0.001 3 NA
3 NA 1 0.0002
3 0.0001 2 NA
仅应考虑 pval 列,如果它们的值 > 0.05 ,则应将其替换为 NA
.
优点:pval 列位于第 3、5、7 ... 列..
请您参考如下方法:
这个应该可以工作:
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