Pour la moyenne, la médiane et l'écart-type, vous pouvez utiliser awk
. Cette méthode est généralement plus rapide que la méthode R
solutions. Par exemple, la solution suivante imprimera la moyenne :
awk '{a+=$1} END{print a/NR}' myfile
( NR
est un awk
pour le nombre d'enregistrements, $1
signifie le premier argument (séparé par des espaces) de la ligne ( $0
serait la ligne entière, ce qui fonctionnerait également ici mais serait en principe moins sûr, bien que pour le calcul il ne prendrait probablement que le premier argument de toute façon) et END
signifie que les commandes suivantes seront exécutées après avoir traité l'ensemble du fichier (on aurait pu aussi initialiser a
a 0
dans un BEGIN{a=0}
)).
Voici un exemple simple awk
script qui fournit des statistiques plus détaillées (prend un fichier CSV en entrée, sinon changer). FS
) :
#!/usr/bin/awk -f
BEGIN {
FS=",";
}
{
a += $1;
b[++i] = $1;
}
END {
m = a/NR; # mean
for (i in b)
{
d += (b[i]-m)^2;
e += (b[i]-m)^3;
f += (b[i]-m)^4;
}
va = d/NR; # variance
sd = sqrt(va); # standard deviation
sk = (e/NR)/sd^3; # skewness
ku = (f/NR)/sd^4-3; # standardized kurtosis
print "N,sum,mean,variance,std,SEM,skewness,kurtosis"
print NR "," a "," m "," va "," sd "," sd/sqrt(NR) "," sk "," ku
}
Il est facile d'ajouter min/max à ce script, mais il est tout aussi facile d'ajouter le tuyau sort
& head
/ tail
:
sort -n myfile | head -n1
sort -n myfile | tail -n1
1 votes
Ceci est probablement pertinent : stackoverflow.com/questions/214363/ .
0 votes
Clôture du vote sur la base d'une récapitulation des outils. stats.stackexchange.com/questions/24934/ || serverfault.com/questions/548322/
0 votes
unix.stackexchange.com/questions/13731/
0 votes
Les personnes qui viennent pour cette question peuvent également être intéressées par
jp
, un utilitaire CLI pour faire des tracés .0 votes
unix.stackexchange.com/a/202889/44236