Bạn có thể sử dụng ngôn ngữ lập trình R .
Đây là một kịch bản R nhanh và bẩn:
#! /usr/bin/env Rscript
d<-scan("stdin", quiet=TRUE)
cat(min(d), max(d), median(d), mean(d), sep="\n")
Lưu ý "stdin"
trong scan
đó là một tên tệp đặc biệt để đọc từ đầu vào tiêu chuẩn (có nghĩa là từ các đường ống hoặc chuyển hướng).
Bây giờ bạn có thể chuyển hướng dữ liệu của mình qua stdin sang tập lệnh R:
$ cat datafile
1
2
4
$ ./mmmm.r < datafile
1
4
2
2.333333
Cũng hoạt động cho các điểm nổi:
$ cat datafile2
1.1
2.2
4.4
$ ./mmmm.r < datafile2
1.1
4.4
2.2
2.566667
Nếu bạn không muốn viết tệp tập lệnh R, bạn có thể gọi một tập lệnh thực sự (chỉ ngắt dòng để dễ đọc) trong dòng lệnh bằng cách sử dụng 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
Đọc hướng dẫn sử dụng R tốt tại http://cran.r-project.org/manuals.html .
Thật không may, tài liệu tham khảo đầy đủ chỉ có sẵn trong PDF. Một cách khác để đọc tài liệu tham khảo là bằng cách gõ ?topicname
vào dấu nhắc của phiên R tương tác.
Để hoàn thiện: có một lệnh R xuất ra tất cả các giá trị bạn muốn và hơn thế nữa. Thật không may trong một định dạng thân thiện với con người mà khó có thể phân tích theo chương trình.
> 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