Eu tenho um arquivo enorme com valores numéricos em muitas colunas e linhas. Os valores nas colunas após a coluna 6 são todos numéricos mais ausentes como NA
( 0
ou 1
ou 2
ou NA
).
Gostaria de alterar os valores em todas as colunas da coluna 7 em diante desta forma: 0
to A A
, 1
to A B
, 2
to B B
e NA
to 0 0
. Desta forma, o cabeçalho da coluna 7, será duas vezes para cada um. Posso fazer isso usando awk
? Meu arquivo de entrada é assim, mas muitas colunas depois disso. Meu arquivo de saída deve ser delimitado por tabulação.
id1 id2 parental maternal sex phenotype A_101 A_102 A_103
20907153 20907153 0 0 -9 -9 1 0 0 0 0 0
31405729 31405729 0 0 -9 -9 0 0 0 0 0 0
31450731 31450731 0 0 -9 -9 0 0 0 2 0 0
41940308 41940308 0 0 -9 -9 0 0 0 NA 0 0
52428081 52428081 0 0 -9 -9 0 0 0 0 0 0
41943104 41943104 0 0 -9 -9 0 0 0 0 0 0
Meio longo, mas direto:
Faz um loop sobre cada campo se o número do campo >= 7, se corresponder a uma de suas condições, substitui o campo pelo par correspondente. Imprime a linha completa após o loop.
Para mim isso retorna: