<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは。データテーブルにデータがない場合にJSLスクリプティングの支援を受けたいと考えています。
JSLを使用して、データベースに対してクエリを実行し、データを次のようなデータテーブルに引き込みます。
プレート | 化合物 | M1 | M2 | M3 | M4 |
A121 | cmp001 | 85.203 | 30.022 | 36.797 | 0.0629 |
A122 | cmp002 | 84.031 | 34.902 | 31.596 | 0.063 |
A123 | cmp003 | 89.028 | 30.677 | 34.903 | 0.063 |
A124 | cmp004 | 91.2455 | 35.277 | 35.327 | 0.0631 |
A125 | cmp005 | 91.257 | 36.927 | 38.836 | 0.063 |
Mはすべて異なる測定値です。データからいくつかのプロットを作成し、またのフィットモデルを実行するJSLスクリプトがあります。
モデルに合わせる(
Y(:M1、:M2、:M3、:M4)、
効果(:Plate、:Compound、:Plate *:Compound)、
性格(標準最小二乗)、
強調(エフェクトレバレッジ)
実行(
:M1 << {適合性の欠如(0)、予測値による実際のプロット(1)、
回帰プロット(0)、予測残差プロット(1)、
プロット効果レバレッジ(1)、表示VIF(1)、{:ひずみ<<
{LSMeans Tukey HSD(0.05、クロス集計レポート(0))}}}、
:M2 << {適合性の欠如(0)、予測値による実際のプロット(1)、
回帰プロット(0)、予測残差プロット(1)、
プロット効果レバレッジ(1)、表示VIF(1)、{:ひずみ<<
{LSMeans Tukey HSD(0.05、クロス集計レポート(0))}}}、
:M3 << {適合性の欠如(0)、予測値による実際のプロット(1)、
回帰プロット(0)、予測残差プロット(1)、
プロット効果レバレッジ(1)、表示VIF(1)、{:ひずみ<<
{LSMeans Tukey HSD(0.05、クロス集計レポート(0))}}}、
:M4 << {適合性の欠如(0)、予測による実際のプロット(1)、
回帰プロット(0)、予測残差プロット(1)、
プロット効果レバレッジ(1)、表示VIF(1)、{:ひずみ<<
{LSMeans Tukey HSD(0.05、クロス集計レポート(0))}}}、
)
)
私たちが問題に遭遇しているところは時折私たちが失敗した測定システムを持っていて、M3かM4カラム全体が欠損値で一杯になるということです(count = 0)。これが発生すると、Fit ModelはJSLscriptをクラッシュさせます。
時々列にデータがない場合があるデータテーブルに対してフィットモデルを記述するための最良の方法は何ですか?最初にどの列にデータが含まれているのかを調べて、それをリストとしてFit Modelプラットフォームに渡す簡単な方法はありますか?私たちは実際には10以上の異なる測定値を持っているので、どの列が一杯か空かを確認するために大量のIFステートメントを書いてそれから別のfitモデルスクリプトを走らせるのは気になりません。いつでも。
ご協力いただきありがとうございます。
少なくともJMP 9では、Fit Model()はlist引数を受け入れます。リストが変数の場合はEval()を使用しなければなりません。
空でない列を含むリストを作成する方法の例を示します(いっぱいかどうかはチェックしませんが、追加は簡単です)。
イース = { : M1 、 : M2 、 : M3 、 : M4 } ;
にとって ( 私 = N個のアイテム ( イース ) 、私 > 0 、私 - 、
要約する ( n = カウント ( イース [ 私 ] ) ) ;
もし ( n == 0 、
から削除 ( イース 、私 )
) ;
) ;
フィットモデル (
Y ( 評価 ( イース ) ) 、
効果 ( ...