Comando rápido para calcular a média de uma coluna em um arquivo de texto no bash

Comando rápido para calcular a média de uma coluna em um arquivo de texto no bash

Dado um arquivo de dados separado por tabulação (ou outro separador), como você calcularia a média de uma coluna?

Pena que não existam binários simples que executem operações matemáticas simples nesse tipo de arquivo.

Responder1

awk -F'\t' '{ sum += $1 } END { print sum / NR }'

Aqui $1está a primeira \tcoluna separada por ab.

Responder2

Se você tiver o R ​​instalado, também poderá usar:

Rscript -e "(mean(read.table(\"file.tab\")))"

Você também pode alterar a função (média) para outras funções estatísticas, digamos:

Rscript -e "(mean(read.table(\"file.tab\")))"
Rscript -e "(sd(read.table(\"file.tab\")))"
Rscript -e "(summary(read.table(\"file.tab\")))"

Se você quiser especificar a coluna, digamos, use a coluna 3, então use a notação [,3]

Rscript -e "(sum(read.table(\"file\")[,3]))"

Aproveitar!

informação relacionada