Vous pouvez utiliser le langage de programmation R .
Voici un script rapide et sale:
#! /usr/bin/env Rscript
d<-scan("stdin", quiet=TRUE)
cat(min(d), max(d), median(d), mean(d), sep="\n")
Notez le "stdin"
dans scan
lequel se trouve un nom de fichier spécial à lire à partir d’une entrée standard (c’est-à-dire à partir de pipes ou de redirections).
Vous pouvez maintenant rediriger vos données sur stdin vers le script R:
$ cat datafile
1
2
4
$ ./mmmm.r < datafile
1
4
2
2.333333
Fonctionne également pour les points flottants:
$ cat datafile2
1.1
2.2
4.4
$ ./mmmm.r < datafile2
1.1
4.4
2.2
2.566667
Si vous ne voulez pas écrire de fichier de script R, vous pouvez appeler une vraie ligne (avec un saut de ligne uniquement pour la lisibilité) dans la ligne de commande en utilisant Rscript
:
$ Rscript -e 'd<-scan("stdin", quiet=TRUE)' \
-e 'cat(min(d), max(d), median(d), mean(d), sep="\n")' < datafile
1
4
2
2.333333
Lisez les manuels R fins sur http://cran.r-project.org/manuals.html .
Malheureusement, la référence complète est uniquement disponible en PDF. Une autre façon de lire la référence consiste à saisir ?topicname
l'invite d'une session interactive R.
Pour être complet: il existe une commande R qui affiche toutes les valeurs souhaitées et plus encore. Malheureusement, dans un format convivial, difficile à analyser par programmation.
> summary(c(1,2,4))
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.000 1.500 2.000 2.333 3.000 4.000