Schneller Befehl zum Berechnen des Mittelwerts einer Spalte in einer Textdatei in Bash

Schneller Befehl zum Berechnen des Mittelwerts einer Spalte in einer Textdatei in Bash

Wie würden Sie den Mittelwert einer Spalte berechnen, wenn die Datendatei durch Tabulatoren (oder ein anderes Trennzeichen) getrennt ist?

Schade, dass es keine einfachen Binärdateien gibt, die einfache mathematische Operationen mit dieser Art von Dateien durchführen.

Antwort1

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

Hier $1ist die erste \tAB-getrennte Spalte.

Antwort2

Wenn Sie R installiert haben, können Sie auch Folgendes verwenden:

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

Sie können die Funktion (den Mittelwert) auch in andere statistische Funktionen ändern, etwa:

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

Wenn Sie die Spalte angeben möchten, z. B. Spalte 3, dann verwenden Sie die Notation [,3]

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

Genießen!

verwandte Informationen