JSL - Combinaison de colonnes d'une table pour une fonctionJ'essaie d'appliquer une fonction à plusieurs colonnes en même temps et j'ai du mal à comprendre comment faire cela.
Supposons qu’un tableau comporte "Colonne 1" et "Colonne 2" et que je veuille calculer un quartile des données combinées. Essentiellement, je veux empiler la colonne 1 au-dessus de la colonne 2, par exemple:
q1 = quartile de colonne ({: colonne 1,: colonne 2}, 0,25);
Cela ne fonctionne pas.. mais il semble qu'il existe une solution simple ... Des conseils ou des solutions?
Merci d'avance!
Brad
Re: JSL - Combinaison de colonnes d'une table pour une fonctionCela a fait le tour! Il m'a fallu un certain temps pour comprendre la différence entre les fonctions quartile et quartile (cela n'aide pas que les entrées soient commutées!). Je vous remercie.
BradRe: JSL - Combinaison de colonnes d'une table pour une fonctionOn dirait que vous utilisez des formules de colonnes. Cette solution devrait fonctionner dans une formule de colonne ou dans un script. Je suppose que votre table de données est déjà ouverte. J'ai ouvert Big Class pour démontrer la solution. Vous devez double-cliquer sur la formule pour pouvoir directement taper ou coller du texte, puis appuyer sur la touche Entrée.
// assume your data table is already open
// example here is Open( "$SAMPLE_DATA/Big class.jmp" );
Quantile( 0.25, (:height << Get As Matrix) |/ (:weight << Get As Matrix) );
Ainsi, la fonction Quantile prend comme premier argument le centile souhaité (0,25 pour le premier quartile) et comme deuxième argument une collection de données (liste, matrice). Cela fonctionne avec n'importe quelle collection de données. (La fonction Col Quantile est une fonction spécialisée qui utilise une colonne de données et conserve le résultat pour éviter les calculs futurs redondants.) Le deuxième argument est formé ici par la concaténation verticale (le symbole est | / pour cet opérateur) des vecteurs de colonne obtenus de les colonnes de données. La concaténation verticale des matrices est équivalente à votre idée d'empiler des colonnes de données dans la table de données. Vous pouvez étendre cette concatentaton à un nombre quelconque de colonnes.