相関の計算方法:2次(ABCXYZ by ABCXYZ)ではなく、長方形(ABC by XYZ)(スクリプト、JSL)こんにちは、
今回は簡単な質問があります。適切なものが見つかりません。
単に相関を計算したいだけです。ABCXYZによる列ABCXYZの係数などの「二次」ではなく、たとえば列XYZによる列ABCの係数などの「長方形」。JMPでそれを達成する方法はありますか?
何も派手な...
乾杯!
Newbie2Jumpie
再:相関の計算方法:2次(ABCXYZでABCXYZ)ではなく、長方形(ABCでXYZ)(スクリプト、JSL)「2次ではない」または「長方形」とはどういう意味かわかりませんが、多変量プラットフォームまたはCorrelation()JSL関数をチェックアウトするかもしれません。選択は、データの保存場所(データテーブルまたは行列オブジェクト)に依存する場合があります。
再:相関の計算方法:2次(ABCXYZでABCXYZ)ではなく、長方形(ABCでXYZ)(スクリプト、JSL)計算を(XZ)ごとに2つの列グループ(AF)に制限したいだけです。
「二次」
ABCDEFXYZ
ccAA ...
B
C
D
E 81相関係数
F
バツ
Y
Z ccZZ
「長方形」
X Y Z
ccAX ...
B
C 18相関係数
D
E
F ... ccFZ
再:相関の計算方法:2次(ABCXYZでABCXYZ)ではなく、長方形(ABCでXYZ)(スクリプト、JSL)必要なものを生成する簡単なスクリプトを次に示します。

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
xList = {"NPN1", "PNP1", "PNP2"};
yList = {"NPN2", "PNP3"};
nw = New Window( "Correlations",
Outline Box( "Retangle of Correlations", tb = Table Box() )
);
// Add the Row Labels to the Table Box
tb << append( String Col Box( " ", yList ) );
For( x = 1, x <= N Items( xList ), x++,
xyCorrList = {};
For( y = 1, y <= N Items( yList ), y++,
Insert Into(
xyCorrList,
Correlation(
Column( dt, xList[x] ) << get as matrix || (Column( dt, yList[y] ) <<
get as matrix)
)[1, 2]
)
);
tb << append( Number Col Box( xList[x], xyCorrList ) );
);再:相関の計算方法:2次(ABCXYZでABCXYZ)ではなく、長方形(ABCでXYZ)(スクリプト、JSL)こんにちはTx
「テキストボックス」はおもしろいですが、完全に私には近づいています。
JMPテーブルでこれらの係数を取得するために、このコードをどのように調整しますか?
JMP、少なくともv14.0は、「テキストボックス」を使用してこれを行うことを好みません。
敬具
初心者
再:相関の計算方法:2次(ABCXYZでABCXYZ)ではなく、長方形(ABCでXYZ)(スクリプト、JSL)あなたが参照している「テキストボックス」について少し混乱しています。 相関テーブルの作成に使用した最後の応答であるTable Box()を誤って参照している可能性があります。 いずれにせよ、コードはJMP 14またはJMP 15で問題なく機能します。とにかく、以前に送信したコードに2つの変更を加えます。 それぞれが、相関の出力としてJMPデータテーブルを生成します。
最初のコードは元のコードを取得し、元のコードが生成するTable Box()からデータテーブルを作成します。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
xList = {"NPN1", "PNP1", "PNP2"};
yList = {"NPN2", "PNP3"};
nw = New Window( "Correlations",
Outline Box( "Retangle of Correlations", tb = Table Box() )
);
// Add the Row Labels to the Table Box
tb << append( String Col Box( " ", yList ) );
For( x = 1, x <= N Items( xList ), x++,
xyCorrList = {};
For( y = 1, y <= N Items( yList ), y++,
Insert Into(
xyCorrList,
Correlation(
Column( dt, xList[x] ) << get as matrix || (Column( dt, yList[y] ) <<
get as matrix)
)[1, 2]
)
);
tb << append( Number Col Box( xList[x], xyCorrList ) );
);
tb << make into data table;
この2番目のスクリプトは、出力データテーブルを直接生成します。 最初にTable Box()を生成しません。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
xList = {"NPN1", "PNP1", "PNP2"};
yList = {"NPN2", "PNP3"};
dt2 = New Table( "Correlations");
dt2 << add rows( N Items( yList ) );
dt2 << delete columns( "Column 1" );<BR /><FONT face="Menlo,Monaco,Consolas,"Courier New",monospace" size="2" style="background-color: #f5f5f5;">dt2 << New Column( "Label", character, values(yList));</FONT>
For( x = 1, x <= N Items( xList ), x++,
xyCorrList = {};
For( y = 1, y <= N Items( yList ), y++,
Insert Into(
xyCorrList,
Correlation(
Column( dt, xList[x] ) << get as matrix || (Column( dt, yList[y] ) <<
get as matrix)
)[1, 2]
)
);
dt2 << new column( xList[x], values(xyCorrList));
);再:相関の計算方法:2次(ABCXYZでABCXYZ)ではなく、長方形(ABCでXYZ)(スクリプト、JSL)こんにちはしゅう 、
あなたはすでにジムからのスクリプトソリューションを持っているように見えますが、私はあなたが欲しいと思うアドインがあります:すべての可能な組み合わせではなく、特定のXと特定のYのセット間の相関のテーブルを返します(あなたとして多変量になります)。
YをXアドインに関連付ける
お役に立てば幸いです
@julian
再:相関の計算方法:2次(ABCXYZでABCXYZ)ではなく、長方形(ABCでXYZ)(スクリプト、JSL)こんにちはしゅう
他の人はあなたの質問に直接答えてくれました。JMPが本当に良いと思う別のソリューションを提供させてください。
赤い三角形の下(または環境設定)でペアワイズ相関を試してみてください。このテーブルをデータテーブルにエクスポートしてから、必要に応じてフィルタリングできます。これは、すべての数値が2回現れる大きな相関行列よりもはるかに便利です。