Стохастическая версия seq для генерации последовательности случайных чисел/слов?

tac команда похожа на обратную "кошку", если это - то, что Вы после.

Если Вы просто хотите просмотреть файл путем запуска внизу, почему Вы не используете редактора или "меньше"?

10
20.05.2011, 16:39
2 ответа

Вы имеете в виду каплю?

$ 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

До свидания.

11
27.01.2020, 20:02
  • 1
    да, капля была то, что команда, Спасибо! Снова, я ценю дальнейшие предложения более усовершенствованных генерирующихся инструментов последовательности. –  maxschlepzig 25.08.2010, 13:13

Если Вы не возражаете писать маленький сценарий, чтобы сделать то, в чем Вы нуждаетесь, я рекомендовал бы делать его в 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. Дайте ему выстрел.

2
27.01.2020, 20:02
  • 1
    Что путь R состоит в том, чтобы получить x случайные числа от данного интервала? Например, 100 случайных чисел между 10 и 200 (например, от нормального распределения)? –  maxschlepzig 28.08.2010, 10:33
  • 2
    на 8 МГц я добавил информацию об имитации lcpriani's jot управляйте к вышеупомянутому ответу. Что касается предельных значений для rnorm(), это не способ, которым работает нормальное распределение. Если Вы берете значение по умолчанию, среднее из 0 и SD 1, то 1000 все еще возможное возвращаемое значение, это просто чрезвычайно маловероятно. R позволил бы Вам записать что-то, что зафиксировало бы значения для удаления вещей вне данного диапазона, но затем Вы будете, вероятно, неправильно использовать нормальное распределение. –  Warren Young 29.08.2010, 00:13

Теги

Похожие вопросы