ディスプレイボックスの使用

このデモでは、レポートレイヤー内の表示ボックスがどのように構成されているかを確認し、それらの表示ボックスの内容にアクセスする方法を確認します。コースジャーナルのセクションで、「硬化時間データ」をクリックします。二変量プラットフォームで、硬化時間データと2つの硬化時間列を使って、単純な相関分析と単純な線形回帰分析を実行します。選択ツールを使用してレポートを探索し、レポートレイヤーを理解する方法を確認します。「分析」メニューから「Y軸とX軸のフィット」を選択します。「Y軸とX軸のフィット」に「硬化時間」を、それぞれ入力して「OK」をクリックします。「二変量フィット」の横にある赤い三角をクリックし、「密度楕円」を選択します。そして、オプションを使用します。上部の赤い三角のメニューに戻り、「直線フィット」を選択します。これで、表示ツリーの多くのコンポーネントが表示されます。選択ツールを使用して、レポートの一部をインタラクティブに選択できます。実際に表示ボックスを選択しています。メニューとツールバーを開くと、大きな白いプラス記号が表示されます。あるいは、選択ツールのSを入力するか、「ツール」メニューに移動することもできます。するとカーソルが変わります。このグラフを選択したい場合、グラフの中央をクリックするだけでよいと思うかもしれませんが、実際にはフレームボックスだけが表示されています。これはレポートのこの部分を構成する表示ボックスの1つです。そのため、「フレームボックスの外側をクリックする必要がある」と思うかもしれません。すると、アクセスボックスが表示されます。これもレポートのこの部分を構成する別の表示ボックスです。対話的に操作する場合、凡例が表示されていないにもかかわらず、グラフのすべての要素を表示するには、カーソルをグラフの端まで移動させる必要があるかもしれません。ただし、凡例も表示できます。アウトライン項目を選択することもできます。「表示」ボタンをクリックします。これは選択ツールを使用しているときでもクリックできます。アウトライン表示ボタンは引き続き反応します。選択ツールを使ってアウトライン項目全体を選択することもできますし、もう一度クリックして選択を解除し、アウトライン項目内の個々の列を選択することもできます。レポートレイヤーでスクリプトを作成する際に便利なことの一つに、選択メッセージを使うことがあります。これは選択ツールと同じ動作をインタラクティブに実行し、値の抽出を開始する前にレポートレイヤーの正しい部分が選択されていることを確認するためです。矢印カーソルに戻ります。ツールバーに移動するか、単に「A」と入力することもできます。表示ツリーを理解するのに便利な機能として、「ツリー構造を表示」というメニューオプションがあります。ここでは「二変量正規楕円」について見てみましょう。このアウトライン項目には赤い三角のメニューがないので、右クリックします。レポート全体のツリー構造を表示したい場合は、一番上のアウトライン項目(赤い三角のメニューがある)を右クリックします。赤い三角のメニューが表示されます。ツリー構造全体を表示したい場合は、「開示」ボタンを右クリックします。しかし、これは非常に大きなツリー構造です。そのため、個々のレポートテーブルを操作することを好みます。ただし、このグラフのツリー構造を理解したい場合は、もちろん最上位レベルまで移動する必要があります。「二変量正規楕円」アウトライン項目については、右クリックして「編集」から「ツリー構造を表示」を選択します。これを並べて表示してみましょう。これは、ツリー構造のこの部分を構成する様々な表示ボックスを表示するアウトライン項目です。便利な機能として、これはレポートウィンドウに接続されているため、ツリー構造内の様々なコンポーネントにマウスポインターを合わせると、表のようにハイライト表示されます。これは、必要な表示ボックスを正しくターゲットにしていることを確認できるもう1つの方法です。これらの表示ボックスにはすべてインデックス値がありますが、アウトラインボックスには名前も含まれています。インデックス値だけでなく、もう少し詳しい情報を使ってこれらの項目をターゲットにする方法を見てみましょう。まず、このレポートを再作成するためのスクリプトを入手し、レポートレイヤーのオブジェクト参照を取得しましょう。ツリー構造ウィンドウを閉じ、「二変量フィット」の横にある赤い三角形をクリックして、「スクリプトをスクリプトウィンドウに保存」を選択します。そして、サイズを変更します。ここに表示されているのは「SendToReport」です。これは、「二変量正規楕円」アウトライン項目を展開したためです。「Close」とブール値のボタンがあります。もし、もう一度実行してこのボタンを開かないようにしたい場合は、このボタンを削除できます。ここではそのままにしておきます。これで、このレポートを再作成するためのスクリプトができたので、元のレポートを閉じます。二変量オブジェクトのインスタンスを作成したときに生成されるレポートと混同しないようにするためです。スクリプトの先頭で、プラットフォームを起動した結果である分析レイヤーのオブジェクト参照を変数 biv に格納します。これを代入します。ここで「現在のデータテーブル」の省略形を使ってメッセージを送信します… あっ、これって入力しなくてもいいですよね? 既にスクリプトが書いてあるので。スクリプトを実行します。すると、この新しい二変数オブジェクトが起動します。そして、スクリプトエディタの最後の行で、レポートレイヤオブジェクトへの参照を取得します。これを変数rbivに格納します。そして、bivが「Report」というメッセージを受け取った結果を代入します。Reportには別の構文があり、実際には名前の後に括弧で囲んだbivを引数として指定します。この例は後ほどデモで紹介します。では、この1行だけ実行してみましょう。rbivに格納されているものに注目してください。プラットフォーム名はbivに格納されていましたが、rbivにはDisplayBox[OutlineBox]という名前だけが格納されています。つまり、それほど詳細な情報はわかりません。どんな種類のディスプレイボックスかということだけが分かります。レポートレイヤーのオブジェクト参照はこんな感じになります。さて、他の作業を行う前に、行をコメントアウトしておきます。誤ってスクリプトを再実行し、二変量フィッティング用の新しいウィンドウが開き、その後間違ったウィンドウを閉じて、現在参照がbivに格納されているウィンドウを閉じてしまうのを防ぐためです。以前、このようなことをしたことがあります。すると、もちろん、別のウィンドウが開いているにもかかわらず、もう開いていないので、メッセージに応答しなくなります。それで、すべて選択したら、右クリックします。「詳細」の「コメントブロック」を選択します。スクリプトエディタにはコメントアウトした行の後に他の行がなかったので、コメントの開始と終了をスラッシュとアスタリスクで区切る構文が使用されていました。他の行があった場合は、各行に2つのスラッシュが個別にコメントアウトされます。それでも、もう一度選択して右クリックすると、一度にコメントを解除できます。幅はそれほど広くする必要はありませんが、少し高さは必要です。横に移動しましょう。二変量ウィンドウをその外側に移動しましょう。新しい行に進みます。レポートウィンドウで「二変量正規楕円」を右クリックし、「編集」、「ツリー構造を表示」を選択します。これはアウトラインボックスです。rbiv を下付き文字にすると、そのインデックス値を使用するオプションがあります。OutlineBox と括弧で囲み、「Select」というメッセージを送信します。これが選択ツールの代わりにスクリプトを実行する方法です。この行を実行します。アウトラインボックスが選択されているのがわかります。これがターゲットとするアウトライン項目である場合、選択状態を維持したくありません。「Select」を使用して、正しい場所を指していることを確認します。そこで、「Deselect」というメッセージを送信し、その行を実行すると、選択が解除されます。そして、平均値の列にドリルダウンしたいとします。こうすることで、別の添え字を追加できます。そして、メッセージを「Select」に戻して実行します。これで平均値の列が選択されました。さて、これらの表示ボックスをより明確に参照する方法は何でしょうか?アウトライン名を使う代わりに、アウトライン名を使うことができます。実際、アウトライン名を使うと添え字全体が置き換えられます。「文字列を入力する」と書かれている箇所です。これは長い文字列です。そこでワイルドカードを使うことにします。ここで二重引用符を開いて「Bivariate Normal」と入力します。そして「Ellipse」という単語も入力し、疑問符で囲むことでPイコールを指定する必要がなくなります。二重引用符を閉じます。次に、数値列ボックスについては、列ヘッダーがあるので、インデックス値を使う代わりに、適合度サマリーとは異なり、インデックス値を使う必要があります。しかし、「Means」という列ヘッダーがあります。そこで、 を「Mean」という文字列に置き換えます。数値列ボックスであることは変わりませんが、 を「Mean」という文字列に置き換えます。そして、メッセージを「選択解除」に変更します。この行を実行すると、うまくいきます。実際、この構文はお勧めです。どのアウトラインボックスを見ているのか、どの列を見ているのかが非常に明確だからです。パラメータ推定値の文脈でこれを見てみましょう。「二変量正規楕円」ウィンドウのツリー構造を閉じ、「パラメータ推定値」を右クリックし、「編集」→「ツリー構造の表示」を選択します。最初の添え字の文字列を「パラメータ推定値」に置き換えます。推定値の列を表示したいとします。列ヘッダーがある場合に推奨されるベストプラクティスである名前を使って「Select」メッセージを送信すれば、非常にうまく機能します。ここで、この例をお見せする理由を説明します。ツリー構造を見ると、推定値の列があります。では、これを指定して選択解除しようとするとどうなるでしょうか?「表示ボックスとrbivへのアクセスまたは評価に添字を設定できません」というエラーが表示されます。これだけでは詳しい情報は得られません。しかし、経験上、これはパラメータ推定値のアウトライン項目を指定すると、そのアウトライン項目内で列ボックスのカウントが新たに開始されることを意味します。つまり、これは実際にはパラメータ推定値内にあります。これを今実行すれば、うまくいきます。rbivへの添字として単に添字を設定したい場合も、同じように機能します。このように、添字を設定する方法は様々です。ただし、アウトライン項目名を使ってできるだけ明確に記述することをお勧めします。列ヘッダーがある場合は(ここでは「推定値」列ヘッダーを戻します)、それを使って表示ツリーの構造変更に堅牢なスクリプトを作成していることを確認してください。これらの変更は、JMPの新バージョンによるものかもしれませんし、ユーザーの設定(関心のある表の上にレポートが表示され、列ボックスや他の表示ボックスの番号が変更されるなど)によるものかもしれません。アウトライン項目名と列ヘッダーを使用できる場合は、必ず使用してください。ここでの選択と選択解除は、開発時のみに行います。いずれ、これらの値を実際に取得する必要があるかもしれません。パラメータ推定値を取得し、変数に格納したいとします。ここではそうしませんが、もちろん可能ですし、そうしたい場合もあるでしょう。レポートレイヤーの添え字部分に「get」メッセージを送信するだけで、返されるのは、これら2つの値を含むリストです。このメッセージを「get as matrices」に変更すると、返されるのはこれらの値の行列です。では、切片を気にしない場合はどうでしょうか?傾きの推定値だけが必要です。2番目の値が必要です。その方法の一つは、括弧で囲んだ「get」メッセージを送信し、それを実行して2番目の値を取得することです。さらに洗練された方法は、メッセージを全く送信しないことですが、パラメータ推定のアウトライン項目、つまり推定列ボックスまでドリルダウンした後、再度添字を付けてその列の2番目の項目を要求すると、同じ結果が返されます。つまり、表示ボックスにアクセスするには、分析レイヤーオブジェクト参照を格納する変数にReportメッセージをメッセージとして送信するか、分析レイヤーオブジェクト参照を格納する変数をReportでラップします。そして、添字を使って表示ツリーのコンポーネントにアクセスします。添字の付け方には様々な方法があります。添字を付ける際は、できるだけ明示的にするのがベストプラクティスです。
Re: ディスプレイボックスの使用方法非常に役立ちます。マトリックスにワイルドカードを追加できる機能は特に便利でした。