
しばらく前に、疑似ランダムに生成された一連の数字を標準出力として印刷するためにseqなどのツールを使用していました。範囲、シード、サンプル数などを指定できます。
このツールの名前を忘れました。誰でも私を助けることができますか?
たとえば、さまざまな確率分布をサポートしたり、さまざまな文字と長さ/文字分布からランダムな単語シーケンスを生成したりするなどの高度なツールを知っている可能性があります。
答え1
チョートって言うの?
$ 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
さようなら行ってください。
答え2
必要なタスクを実行するために小さなスクリプトを書くことが気に入らない場合は、これをお勧めします。右、オープンソース統計システム。
たとえば、100 のガウス分布数のリストを取得するには、次のコードを 1 行ずつ考えてみます。
$ 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関数。必要な数の数を表す最初の引数のみを最大3つまで使用できます。私たちは100が必要です。他の2つのオプションパラメータのデフォルト値を使用すると、平均0と標準偏差1が得られます。
次の演算は、R言語の素晴らしい機能を示しています。一般的な言語からスカラー値を計算できるように、データ表、行列などのデータ全体を簡単に算術演算できます。生成されたすべての値に100を掛けてから100を加えることができるので、追加します。 Rは完全なプログラミング言語なので、この数値リストを使用して実行できる操作は無限です。 。同じシステムの代わりにこのようなシステムを使用することですjot
。
前の操作の結果はデフォルトでwrite()
ファイルにデータを書き込む関数に渡しますが、2番目の引数(ファイル名)に空の文字列を渡してそれを上書きするので、代わりにターミナルを使用してテーブルを書き込みます。 。次のパラメータは、1
出力が単一列形式であることを知らせます。
Rはたくさん基本システムに追加の乱数生成機能が組み込まれています。たとえば、jot
次のスクリプトを使用して、lcprianiの回答のコマンドを模倣できます。
$ Rscript -e 'write(round(runif(10, 12, 27)), "", 1)'
ここでは、runif()
12から27の間に均一に分布した10個の乱数を得るためにこれを使用します。rnorm()
上記と同じように、この関数は浮動小数点値を返すため、round()
画面に書き込む前に最も近い整数値に変換する必要があります。
Rには豊富なアドオンセットもあります。ドゥルミ、PerlのCPANをモデルにしたパッケージリポジトリです。興味があるのは簡単に言うとランダム、インターフェースとして機能するランダム組織、待機ノイズから生成された実際の乱数を返すサービス。
Rは完全なプログラミング環境なので、Rからテキスト形式に数値を実際にインポートする必要はありません。 Rで問題を完全に解決することもできます。試してみてください。