少し前に、seqのようなツールを使用して、疑似乱数で生成された一連の数値をstdoutに出力しました。範囲、シード、サンプル数などを指定できます。
このツールの名前を忘れてしまいました。誰かが私を助けることができますか?
たとえば、さまざまな確率分布や、さまざまなアルファベットや長さ/文字の分布の下でのランダムな単語のシーケンスの生成をサポートする、さらに高度なツールを知っているかもしれません。
冗談ですか?
$ 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を使用する場合、パッケージはathena-jotです。簡単な例:
$ 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
コマンドを使用すると、インタラクティブなプログラミング環境にアクセスできます。これは、手作業で何かを行う方法を模索している場合や、段階的に何かを構築している場合は問題ありませんが、質問からすると、別のプログラムに送信するには、番号のリストが必要です。その代わりに、従来のUnixスクリプトインタープリターのように動作するRscript
を使用します。Rスクリプトを含むファイルの名前を渡すか、標準の_-e
_フラグを使用して全体を渡すことができます。コマンドラインのプログラムテキスト。
rnorm()
は、「正規」またはガウス分布の乱数のリストを取得するためのR関数です。最大3つのパラメーターを取りますが、最初のパラメーターのみが必要であり、必要な数です。 100を要求しました。他の2つのオプションのパラメーターのデフォルトを使用することにより、平均0と標準偏差1が得られます。
その後の算術演算は、R言語の優れた機能を示しているだけです。データテーブル全体、行列などに対して、より一般的な言語のスカラー値と同じくらい簡単に算術演算を実行できます。生成されたすべての値に100を掛けて、100を追加しました。 Rは本格的なプログラミング言語であるため、この数字のリストでできることには制限がありません。これは、jot
のような固定目的のコマンドの代わりにそのようなシステムを使用することの利点です。
前の操作の結果をwrite()
関数に渡します。この関数は、デフォルトでデータをファイルに書き込みますが、2番目のパラメーターであるファイル名に空白の文字列を渡すことでオーバーライドしました。そのため、代わりにテーブルを端末に書き込みます。次のパラメーター_1
_は、単一列形式で出力することを指示するだけです。
Rには many 他の乱数生成関数が基本システムに組み込まれています。たとえば、次のスクリプトを使用して、lcprianiの回答のjot
コマンドを模倣できます。
_$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
_
ここでは、runif()
を使用して、12から27までの10個の一様分布の乱数を取得しています。上記で使用したrnorm()
と同様に、この関数は浮動小数点値を返すため、次のようになります。画面に書き込む前に、それらを最も近い整数値にround()
します。
Rには、PerlのCPANをモデルにしたパッケージリポジトリである [〜#〜] cran [〜#〜] にも豊富なアドオンセットがあります。あなたが興味を持っているかもしれないものは単に random と呼ばれ、それは random.org へのインターフェースとして機能します。これは大気ノイズから生成された真の乱数を返すサービスです。
Rは完全なプログラミング環境であるため、実際にはテキスト形式でRから数値を取得する必要がない場合があります。あなたはRであなたの問題を完全に解決することができるかもしれません。それを試してみてください。