RスクリプトをMinitab統計ソフトウェアと共に実行する

MinitabからRを実行できるさまざまな方法について説明します。
次の3つの方法で、MinitabからRスクリプトを実行できます。
  • コマンドプロンプトペインでRSCRコマンドを実行します。
  • RSCRコマンドを含むMinitab execを実行します。
  • Minitabのインタフェースをカスタマイズして、RSCRコマンドを含むMinitab execを実行します。

このRSCR コマンドは、 RでMinitabの機能を拡張しますが、MinitabをインタラクティブなR環境にすることはできません。そのため、操作なしで完了する R スクリプトでのみMinitabを使用してください。たとえば readline() 、スクリプトの実行中にキーボードからの入力を受け付ける関数は、Minitabでは機能しません。R での対話性は、plot()hist()など、他に多くの形式をとります。

Rコードの例を含むMinitabのRパッケージの詳細については、R APIリファレンスを参照してください。

このガイドで参照されるすべてのファイルは、次の.ZIPファイルで入手可能です:r_guide_files.zip.

R とMinitab統計ソフトウェアとのインテグレーションを試みる前に、R をインストールして実行してください。Rのインストールに関するサポートについては、所属先のテクニカルサポート部門にお問い合わせください。MinitabテクニカルサポートはRのインストールをサポートできません。

コマンドプロンプトペインからRスクリプトを実行する

コマンドプロンプトペインでRSCRコマンドを実行できます。コマンドプロンプトペインの一般的な情報については、コマンドライン/履歴ペインを参照してください。セッションコマンドの使用に関する一般敵な情報については、セッションコマンドのヘルプを参照してください。

RSCR["filename.R"]["Args"...]

指定したRスクリプトを実行します。

Rスクリプトのデフォルトのファイル拡張子は.Rです。ファイル拡張子が.Rの場合は、ファイル拡張子を入力する必要はありません。ファイルパスを指定しない場合は、デフォルトフォルダ内のRスクリプトが検索されます。デフォルトのフォルダの場所は、オペレーティングシステムによって異なります。詳細については MinitabのRファイルのデフォルトのフォルダを参照してください。

オプションの引数Argsを使用すると、commandArgs(trailingOnly = TRUE)を通して引数をRスクリプトに渡すことができます。Argsは、任意のテキスト値をスペースで区切られたものである可能性があります。引数は引用符で囲みます。デフォルト値はNoneで、スクリプトは引数を受け取りません。

通常、引数を使用してMinitabからRにデータを取り込みます。引数は、いくつかの方法で入力できます。たとえば、列、行列、または定数の識別子である引数を使用できます。

Minitabセッションコマンド での値 R 使用
RSCR "test.R" "C1"
"C1"
列を取得するには、次の関数を使用します。
mtbr::mtb_get_column(commandArgs(trailingOnly = TRUE)[1])
RSCR "test.R" "M1"
"M1"
行列を取得するには、次の関数を使用します。
mtbr::mtb_get_matrix(commandArgs(trailingOnly = TRUE)[1])
RSCR "test.R" "K1"
"K1"
定数を取得するには、次の関数を使用します。
mtbr::mtb_get_constant(commandArgs(trailingOnly = TRUE)[1])

また、列、行列、または定数の名前の引数をMinitabで使用することもできます。

Minitabセッションコマンド での値 R 使用
RSCR "test.R" "My Column"
"My Column"
列を取得するには、次の関数を使用します。
mtbr::mtb_get_column(commandArgs(trailingOnly = TRUE)[1])
RSCR "test.R" "My Matrix"
"My Matrix"
行列を取得するには、次の関数を使用します。
mtbr::mtb_get_matrix(commandArgs(trailingOnly = TRUE)[1])
RSCR "test.R" "My Constant"
"My Constant"
定数を取得するには、次の関数を使用します。
mtbr::mtb_get_constant(commandArgs(trailingOnly = TRUE)[1])

Rコードで使用するテキストを渡す引数を指定することもできます。テキストは直接または定数で渡すことができます。

Minitabセッションコマンド での値 R 使用
RSCR "test.R" "Text not Stored"
"Text not Stored"
この場合では、mtbr 'get'コマンドでは使用できない値を渡します。しかし、Argsは列、行列、定数を渡すだけではありません。
LET K1 = "Text in Constant" RSCR "test.R" K1
"Text in Constant"
この場合は、RSCRはテキスト値ではない引数を受け取りませんが、定数がテキスト値として定義されている限り、RSCRに定数を渡すことができるということを強調しています。

複数の引数を渡すと、引数のリストから順番に引数にアクセスできます。

Minitabセッションコマンド での値 R 使用
RSCR "test.R" "C1" "C2" "M1" "K3" "10"
"C1" "C2" "M1" "K3" "10"
この場合は、複数のArgsを渡す例で、Rの次の関数を使用してアクセスします。
mtbr::mtb_get_column(commandArgs(trailingOnly = TRUE)[1]) mtbr::mtb_get_column(commandArgs(trailingOnly = TRUE)[2]) mtbr::mtb_get_matrix(commandArgs(trailingOnly = TRUE)[3]) mtbr::mtb_get_constant(commandArgs(trailingOnly = TRUE)[4]) as.numeric(commandArgs(trailingOnly = TRUE)[5])

以下のファイルを使用して、次のサブコマンドのテキスト例からの出力を確認します。test.RファイルがRスクリプト用のMinitabのフォルダにあることをを確認します。
ファイル 説明
test.R このガイド全体で使用されるサンプルRスクリプトです。スクリプトに引数を渡すと、結果には引数の値のリストが含まれます。引数 "ArgToBePrintedToStdErr" を指定してスクリプトを実行すると、スクリプトは引数の名前を標準エラーファイルに書き込みます。引数 "ArgToBePrintedToStdOut" を指定してスクリプトを実行すると、スクリプトは引数の名前を標準出力ファイルに書き込みます。次のサブコマンドを使用して、これらのファイルの内容を Minitabの出力ペインに表示するかどうかを制御します。
NOSERR
Minitab の出力ペインに、標準エラー(message()warning()、またはstop())コンソール出力のテキストを表示しないように指定します。警告コンソールの出力場所は、R統合開発環境でコードを実行した時に R エラーメッセージが表示される場所ですが、R を使用して他の結果を警告ファイルに保存できます。たとえば、デフォルトでは次のようになります。
RSCR "test.R" "ArgToBePrintedToStdErr". 
標準エラーコンソール出力を含む次の結果を生成します。

R Script

These results are from external software.
The following arguments were passed to R: ArgToBePrintedToStdErr

R standard error

The following arguments were printed to Stderr: 'ArgToBePrintedToStdErr'
次のセッションコマンドは、標準エラーコンソール出力を除外します:
RSCR "test.R" "ArgToBePrintedToStdErr"; NOSERR.
セッションコマンドは、以下の結果を生成します:

R Script

These results are from external software.
The following arguments were passed to R: ArgToBePrintedToStdErr
SOUT
Minitabの出力ペインに標準コンソール出力 (print()) のテキストを表示するように指定します。標準コンソール出力とは、R統合開発環境でprint()のようなコマンドの結果を表示する場所です。たとえば、デフォルトでは次のようになります。
RSCR "test.R" "ArgToBePrintedToStdOut". 
コンソール出力を除く次の結果を生成します:

R Script

These results are from external software.
The following arguments were passed to R: ArgToBePrintedToStdOut
次のセッションコマンドは、以下のコンソール出力を含めます:
RSCR "test.R" "ArgToBePrintedToStdOut"; SOUT.
セッションコマンドは、以下の結果を生成します:

R Script

These results are from external software.
The following arguments were passed to R: ArgToBePrintedToStdOut

R standard output

[1] "The following arguments were printed to Stdout: 'ArgToBePrintedToStdOut'"

Minitab execファイルからRスクリプトを実行する

このセクションの手順を実行するには、次のファイルを使用します。
ファイル 説明
test.R このガイド全体で使用されるサンプルRスクリプトです。スクリプトに引数を渡すと、結果には引数の値のリストが含まれます。
REXEC.MTB 2つの引数を指定してtest.Rスクリプトを実行するためのセッションコマンドを含むMinitabのサンプルexecファイルです。

Execsは、Minitabセッションコマンドを含むテキストファイルです。Minitab execでRを実行するRSCRコマンドを含めることができます。execファイルを使用すると、コマンドを再入力しなくても簡単に実行でき、Minitabのカスタムボタンにexecを割り当てることができます。Minitabのexecsの詳細については、Minitabマクロのヘルプを参照してください。execを実行するには、 ファイル > Execを実行するを選択します。

REXEC.MTB execを作成するとします。execファイルには、次のMinitabコマンドが含まれています。
RSCR "test.R" "Arg1" "Arg2"
execでRスクリプトを実行するには、次の手順に従ってください。
  1. ファイル > Execを実行するを選択します。
  2. ファイルを選択するをクリックします。
  3. REXEC.MTBを選択します。
  4. 開くをクリックします。
このスクリプトは、Minitabで引数の値を表示し、execは次の結果を生成します。

R Script

These results are from external software.
The following arguments were passed to R: Arg1, Arg2

MinitabインタフェースからRスクリプトを実行する

Minitab execファイルがある場合は、execを実行するカスタムボタンまたはメニューを作成できます。Minitabでインタフェースをカスタマイズする方法の一般的な情報は、メニュー、ツールバー、およびショートカットキーのカスタマイズを参照してください。

次のステップを使用して、execを実行するカスタムボタンを作成できます。
  1. ビュー > カスタマイズを選択します。
  2. ツールタブをクリックします。
  3. ツールタブで、新規 (Insert) ボタンをクリックする.
  4. コマンドの名前を入力し、Enterキーを押します。
  5. 開くボタンをクリックする.
  6. ファイルの種類ドロップダウンリストから、すべてのファイル(*.*)を選択します。
  7. execファイルを参照して選択します。
  8. 開くをクリックします。
  9. もう一度ビュー > カスタマイズを選択します。
  10. コマンドタブのカテゴリ (分類)で、ツールを選択します。
  11. カスタマイズダイアログボックスが開いている間に、新しいコマンドをMinitabのメニューまたはツールバーに表示する位置までドラッグします。
  12. 閉じるをクリックします。

Minitabのインタフェースをカスタマイズするだけでなく、COMに対応した言語を使用してカスタムダイアログボックスと解析を作成できます。COMを使用して Minitab をカスタマイズする方法については、Minitabの自動化を参照してください。

RSCRコマンドを停止する

Rスクリプトを停止してMinitabを開いたままにしておき、最後に保存してからのMinitabプロジェクトの編集内容が失われるのを防ぐことができます。Rスクリプト停止する方法は、オペレーティングシステムによって異なります。
Windows

CtrlキーとAltキーとDeletキーを同時に押して、Windowsタスクマネージャーを開きます。次に、Rプロセスを終了します。