Ви можете використовувати мову програмування R .
Ось швидкий і брудний сценарій R:
#! /usr/bin/env Rscript
d<-scan("stdin", quiet=TRUE)
cat(min(d), max(d), median(d), mean(d), sep="\n")
Зверніть увагу на те, "stdin"
у scan
якому є спеціальне ім'я файлу, яке слід читати зі стандартного вводу (це означає, що з труб чи переадресацій).
Тепер ви можете перенаправити свої дані через stdin до сценарію R:
$ cat datafile
1
2
4
$ ./mmmm.r < datafile
1
4
2
2.333333
Також працює для плаваючих точок:
$ cat datafile2
1.1
2.2
4.4
$ ./mmmm.r < datafile2
1.1
4.4
2.2
2.566667
Якщо ви не хочете писати файл сценарію R, ви можете викликати справжній однокласник (з рядком тільки для читання) у командному рядку, використовуючи 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
Прочитайте чудові посібники з R на веб- сторінці http://cran.r-project.org/manuals.html .
На жаль, повна посилання доступна лише у форматі PDF. Ще один спосіб прочитати посилання - це введення ?topicname
в підказку інтерактивного R-сеансу.
Для повноти: є команда R, яка виводить усі необхідні значення та інше. На жаль, у доброзичливому для людини форматі, який важко програматизувати.
> 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