Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)Salut,
Cette fois, j'ai peut-être une question simple. Je n'arrive pas à trouver quoi que ce soit qui convienne.
Je voudrais simplement calculer des corrélations. Pas «quadratique», par exemple les coefficients des colonnes ABCXYZ par ABCXYZ, mais «rectangulaire», par exemple les coefficients des colonnes ABC par les colonnes XYZ. Des idées comment je pourrais accomplir cela avec JMP?
Rien d'extraordinaire...
À votre santé!
Newbie2Jumpie
Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)Je n'ai aucune idée de ce que vous entendez par "non quadratique" ou "rectangulaire", mais vous pouvez consulter la plate-forme multivariée ou la fonction JSL Correlation (). Votre choix peut dépendre de l'endroit où les données sont stockées (table de données ou objet de matrice).
Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)Je voudrais juste limiter les calculs à deux groupes de colonnes (AF) par (XZ):
"quadratique"
ABCDEFXYZ
Une ccAA ...
B
C
ré
E 81 coefficients de corrélation
F
X
Y
Z ccZZ
"rectangulaire"
X Y Z
A ccax ...
B
C 18 coefficients de corrélation
ré
E
F ... ccFZ
Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)Voici un script simple qui produira ce que vous voulez:

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 ) );
);Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)Salut Tx,
La "zone de texte" est une approche intéressante, bien que complète.
Comment ajusterais-je ce code pour obtenir ces coefficients dans une table JMP?
JMP, au moins v14.0, n'aime pas le faire avec "textbox".
Sincères amitiés
Débutant
Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)Je suis un peu confus au sujet de la "zone de texte" à laquelle vous faites référence. Je pense que vous avez peut-être mal interprété la boîte de table () ma dernière réponse utilisée pour créer la table de corrélation. Dans tous les cas, le code fonctionne très bien dans JMP 14 ou JMP 15 Quoi qu'il en soit, voici 2 modifications au code que j'ai précédemment envoyé. Chacune d'elles produit une table de données JMP en tant que sortie pour les corrélations.
Le premier prend simplement le code d'origine et crée une table de données à partir de la zone Table () produite par le code d'origine.
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;
Ce second script produit directement le tableau de données en sortie. Ne pas générer une table () en premier.
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));
);Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)salut @ Newbie2Jumpie ,
On dirait que vous avez déjà une solution de script de Jim, mais j’ai un complément qui, je pense, fait ce que vous voulez: renvoyez une table de corrélations entre un ensemble de X particuliers et de Y particuliers plutôt que toutes les combinaisons possibles entrer dans multivariée).
Corrélation Y par X Add-In
J'espère que ça t'as aidé,
@julien
Comment calculer les corrélations: non quadratique (ABCXYZ par ABCXYZ), mais rectangulaire (ABC par XYZ) (script, JSL)salut @ Newbie2Jumpie
les autres vous ont donné une réponse directe à votre question. Permettez-moi de vous proposer une autre solution pour laquelle JMP est vraiment utile.
pourquoi ne pas essayer les corrélations Pairwise sous le triangle rouge (ou dans les préférences). cette table peut être exportée dans une table de données puis filtrée à votre guise. Je trouve cela beaucoup plus utile que les grandes matrices de corrélation où tous les nombres apparaissent deux fois.