rStats.js v1.3.0
    検索インデックスを準備しています...

    Function RNGkind

    • 乱数生成の種類を読み取るか変更します。R の RNGkind() と同等です。

      • kind: "Mersenne-Twister" (または "default"): R の既定の乱数生成器です。
      • kind: "L'Ecuyer-CMRG": L'Ecuyer の MRG32k3a です。並列処理向けに、互いに独立したストリームを使えます (nextRNGStream、nextRNGSubStream)。
      • sampleKind: "Rounding": 添字を floor(n * u) で抽出します。これは、3.6.0 より前の R の sample、sampleInt、rwilcox と同じ方法です (n が大きいとわずかに一様でなくなります。R はこれを警告しますが、rStats.js は警告しません)。"Rejection" (または "default") は、3.6.0 以降の R の既定です。ほかの関数には影響しません。

      R と同じく、kind を変更すると、現在の生成器の次の一様乱数から、新しい生成器の種が決まります ( 種類が変わらない場合も同じです)。そのため、ストリームは最後の setSeed から再現できます。sampleKind だけを変更した場合は、ストリームは保たれます。その後で setSeed を呼ぶと、新しい生成器に直接種を与えます。RNGkind({ kind }); setSeed(seed) は、R の set.seed(seed, kind) に当たります。また、R と同じく、種類を指定する呼び出しは、まだ種を与えられていない生成器に、(最初の乱数を抽出するときと同じく) 時刻から種を与えます。種類を指定しない呼び出しは、種類を読み取るだけです。

      Parameters

      • options: RNGKindOptions = {}

        変更する種類。省略した項目は変更されません。既定: 何も変更しない。

      戻り値 RNGKinds

      呼び出し前に有効だった種類 (オプションなしで呼んだ場合は現在の種類)。R と同じです。

      対応していない種類の場合は RangeError を投げます (このとき何も変更されません)。

      RNGkind(); // { kind: "Mersenne-Twister", normalKind: "Inversion", sampleKind: "Rejection" }
      RNGkind({ kind: "L'Ecuyer-CMRG" });
      setSeed(1);
      runif(2); // [0.6775328286287442, 0.4273457228876442]
      // R: set.seed(1, kind = "L'Ecuyer-CMRG"); runif(2)
      RNGkind({ kind: "default", sampleKind: "Rounding" });
      setSeed(1);
      sampleInt(10, { size: 3 }); // [2, 3, 4]
      // R: set.seed(1, kind = "default", sample.kind = "Rounding"); sample.int(10, 3) - 1