Вы имеете в виду каплю?
$ jot
jot: jot - print sequential or random data
usage: jot [ options ] [ reps [ begin [ end [ s ] ] ] ]
Options:
-r random data
-c character data
-n no final newline
-b word repeated word
-w word context word
-s string data separator
-p precision number of characters
При использовании Ubuntu, пакет является каплей Афины. Простой пример:
$ jot -r 10 12 27
26
13
22
18
25
12
13
23
15
23
До свидания.
Если Вы не возражаете писать маленький сценарий, чтобы сделать то, в чем Вы нуждаетесь, я рекомендовал бы делать его в R, системе статистики с открытым исходным кодом.
Например, полагайте, что эта острота получает список 100 Распределенных гауссовым образом чисел:
$ Rscript -e 'write(rnorm(100) * 100 + 100, "", 1)'
234.2903
-25.53289
168.0262
-28.49810
105.0687
85.97355
269.5072
...
Давайте сломаем это.
Стандарт R
команда приносит Вам в интерактивную среду программирования, которая прекрасна, при попытке разработать, как сделать что-то вручную или создаете что-то инкрементно, но от Вашего вопроса, она кажется, что Вам просто нужен список чисел для отправки к другой программе. Таким образом вместо этого, мы используем Rscript
, который ведет себя больше как традиционный интерпретатор сценария Unix: можно передать его название файла, содержащего сценарий R, или использовать стандарт -e
отметьте для передачи всего текста программы командной строке.
rnorm()
функция R должна получить список случайных чисел с "нормальным" или Распределением Гаусса. Требуется до трех параметров, только первый из которых требуется, сколько чисел Вы хотите. Мы попросили 100. Путем взятия значений по умолчанию для других двух дополнительных параметров мы получаем средний из 0 и стандартное отклонение 1.
Арифметика после этого просто представляет замечательную функцию языка R: можно сделать арифметику на целых таблицах данных, матрицах, и т.д., так же легко как скалярная величина на более типичном языке. Я умножил все сгенерированные значения на 100 и добавил 100 к ним, просто потому что я могу. Поскольку R является законченным языком программирования, нет никакого предела вещам, которые Вы могли сделать с этим списком чисел. Это - преимущество использования такой системы вместо команды фиксированной цели как jot
.
Мы передаем результат той предыдущей операции к write()
функция, которая выписывает данные в файл по умолчанию, но мы переопределили это путем передачи пустой строки для второго параметра, имени файла, таким образом, это выписывает таблицу к терминалу вместо этого. Следующий параметр, 1
, просто говорит этому, что мы хотим наш вывод в формате отдельного столбца.
R имеет много других функций генерации случайных чисел, встроенных в основную систему. Например, мы можем подражать jot
команда в ответе lcpriani с этим сценарием:
$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
Здесь мы используем runif()
получить 10 равномерно распределенных случайных чисел от 12 до 27. Как rnorm()
, который мы использовали выше, эта функция возвращает значения с плавающей точкой, таким образом, мы имеем к round()
их к их ближайшим целочисленным значениям прежде, чем записать им в экран.
R также имеет богатый набор дополнений в CRAN, хранилище пакетов, смоделированное на CPAN Perl. Один Вы могли бы интересоваться, просто назван случайным, который действует как интерфейс на random.org, сервис, который возвращает истинные случайные числа, сгенерированные из атмосферных помех.
R является полной средой программирования, таким образом, может случиться так, что Вы не должны на самом деле вытаскивать свои числа из R в текстовом формате. Вы смогли решать свою проблему полностью в R. Дайте ему выстрел.
jot
управляйте к вышеупомянутому ответу. Что касается предельных значений для rnorm()
, это не способ, которым работает нормальное распределение. Если Вы берете значение по умолчанию, среднее из 0 и SD 1, то 1000 все еще возможное возвращаемое значение, это просто чрезвычайно маловероятно. R позволил бы Вам записать что-то, что зафиксировало бы значения для удаления вещей вне данного диапазона, но затем Вы будете, вероятно, неправильно использовать нормальное распределение.
– Warren Young
29.08.2010, 00:13