Berechnen Sie den Mittelwert jeder Spalte und ignorieren Sie fehlende Daten mit awk
Ich habe eine große tabulatorgetrennte Datentabelle mit Tausenden von Zeilen und Dutzenden von Spalten und es fehlen Daten, die als "na" markiert sind. Beispielsweise
na 0.93 na 0 na 0.51
1 1 na 1 na 1
1 1 na 0.97 na 1
0.92 1 na 1 0.01 0.34
Ich möchte den Mittelwert jeder Spalte berechnen, stelle jedoch sicher, dass die fehlenden Daten bei der Berechnung ignoriert werden. Beispielsweise sollte der Mittelwert von Spalte 1 0,97 betragen. Ich glaube, ich könnte @ verwendawk
aber ich bin nicht sicher, wie ich den Befehl erstellen soll, um dies für alle Spalten zu tun und fehlende Daten zu berücksichtigen.
Ich weiß nur, wie man den Mittelwert einer einzelnen Spalte berechnet, aber die fehlenden Daten werden als 0 behandelt, anstatt sie aus der Berechnung herauszulassen.
awk '{sum+=$1} END {print sum/NR}' filename