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

    Function setWarningHandler

    • R の警告を受け取る関数を設定し、置き換えられた関数を返します (なければ null)。R の関数ではありません。R が警告を表示する役割を果たし、また例外を投げることで options(warn = 2) の役割も果たします。

      ハンドラーの設定に関係なく、すべての検定、モデル、当てはめは、R の警告をその結果の warnings に返します。ハンドラーを設定すると、そのような関数 (および onWarning のない pivotLonger) を呼ぶたびに、結果を計算した後で、警告もハンドラーに渡されます。各警告は、異なるものを 1 回ずつ、順に、呼ばれた関数の名前とともに渡されます (ほかの関数を呼ぶ関数、たとえば pairwiseWilcoxTest は、警告を自身の名前の下で 1 回だけ渡します)。当てはめの警告は、当てはめるとき (lm、glm、aov、lmer など) に 1 回渡されます。当てはめや表を受け取る関数 (anova、aovSummary、Anova、glmSummary、etaSquared、lmerSummary など) は、警告を結果の warnings に残しますが、自分が追加した警告だけを渡します。ハンドラーが投げたエラーは、呼び出し元に伝わります。既定ではハンドラーはなく、何も表示されません。

      R と同じように警告を表示するには、(message, source) => console.warn(source + ": " + message) を設定します。例外を投げるハンドラー ((message) => { throw new Error(message); }) は、R の options(warn = 2) と同じく、各警告をエラーに変えます。

      ハンドラーは globalThis に保持されるため、ページに読み込まれたライブラリのすべてのコピーで、1 つの設定を共有します。

      Parameters

      • handler: WarningHandler | null

        警告を受け取る関数です。警告を渡すのをやめる場合は null です。

      戻り値 WarningHandler | null

      以前に設定されたハンドラーです。なければ null です。

      handler が関数でも null でもない場合は TypeError になります。

      const seen: string[] = [];
      const previous = setWarningHandler((message, source) => { seen.push(`${source}: ${message}`); });
      optim([1, 1], (p) => (p[0] - 2) ** 2 + (p[1] - 3) ** 2, { lower: [0, 0] }).warnings;
      // ["bounds can only be used with method L-BFGS-B (or Brent)"]
      setWarningHandler(previous);
      seen; // ["optim: bounds can only be used with method L-BFGS-B (or Brent)"]