Быстрая команда для вычисления среднего значения столбца в текстовом файле в bash

Быстрая команда для вычисления среднего значения столбца в текстовом файле в bash

Как вычислить среднее значение столбца, если данные в файле разделены табуляцией (или другим разделителем)?

Жаль, что нет простых двоичных файлов, которые выполняли бы простые математические операции над такими файлами.

решение1

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

Вот $1первый \tстолбец, разделенный символом ab.

решение2

Если у вас установлен R, вы также можете использовать:

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

Вы также можете изменить функцию (среднее значение) на другие статистические функции, например:

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

Если вы хотите указать столбец, скажем, использовать столбец 3, то вы используете обозначение [,3]

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

Наслаждаться!

Связанный контент