2013-09-05 1 views
2

3rd 열에 값이 -log 인 새 열을 추가하고 싶습니다. 그러나 NA으로 채워진 필드가 있습니다. 아래 코드를 사용하여이 필드에 대해 예상 출력 인 inf을 출력했습니다.awk를 사용하여 새 열 계산시 누락 된 데이터를 처리하는 방법은 무엇입니까?

awk 'NR!=1 {print $1, $2, $3, -1*(log($3))}' File 

File 

1 rs3 0.341 
2 rs4 NA 
3 rs5 0.599 
4 rs6 NA 

Desired output 
        NEW COLUMN 
1 rs3 0.341 1.074 
2 rs4 NA  NA 
3 rs5 0.599 0.512 
4 rs6 NA  NA 

어떻게 새 열에 NA을 보관할 수 있습니까? 3 열 로그 그렇지 않으면 원래 값을 출력 제로 인쇄보다 큰 경우 :

+0

로그에 입력 열에 10 번째 열이 표시되지 않습니다. – dcaswell

+0

죄송합니다. – user2162153

답변

0

두 개의 인쇄 문을 가지고 주셔서 감사합니다.

awk '$3 + 0.0 != 0.0 {print $1, $2, -1*(log($3)) } 
$3 + 0.0 == 0.0 {print $1, $2, $3 }' File 
+0

도움 주셔서 감사합니다. – user2162153

관련 문제