Calculer Col Mean () pour un sous-ensemble de lignes dans un script JSL ?Bonjour la communauté JMP,
Quelle est la syntaxe appropriée en JSL pour calculer la moyenne de colonne (ou d'autres statistiques) pour une variable définie sous-ensemble de lignes ? Dans une table de données, je peux simplement utiliser la formule "Col Mean (:Data Column, :Grouping Column)" mais dans un script JSL, cela ne semble pas être une utilisation correcte.
Il convient de noter que je pense utiliser la force brute en utilisant une structure "Pour chaque ligne", mais cela semble assez inefficace dans l'évaluation de plus de 200 colonnes avec 1000 lignes.
Merci pour votre aide.
TS
Re : Calculer Col Mean () pour un sous-ensemble de lignes dans un script JSL ?Je pense que le moyen le plus simple et le plus efficace d'y parvenir est d'utiliser
Tableaux==>Résumé
Cela créera très rapidement une table de données, à partir de laquelle vous pourrez obtenir vos statistiques pour votre JSL, ou si vous avez besoin de récupérer les statistiques dans la table de données d'origine, une simple mise à jour avec correspondance le fera.Gérer 200 colonnes et 1 000 lignes ne pose aucun problème.Vous trouverez ci-dessous un exemple simple qui illustrera comment procéder.
names default to here(1);
dt=Open("$SAMPLE_DATA/semiconductor capability.jmp");
colNamesLIst = dt << get column names(continuous);
dtStats = dt << Summary(invisible,
Group( :SITE ),
Mean( colNamesList ),
Freq( "None" ),
Weight( "None" ),
Link to original data table(0)
);
dt << Update(
With( dtStats ),
Match Columns( :SITE = :SITE )
);
close( dtStats, nosave );Re : Calculer Col Mean () pour un sous-ensemble de lignes dans un script JSL ?Bonjour la communauté JMP,
Voici ce que j'ai trouvé en utilisant la structure « Pour chaque ligne » :
Names Default to Here (1);
dt = Current Data Table ();
ALL_MEAN = Col Mean (:DATA);
MAX_MEAN = -1000;
For Each Row (
if (MAX_MEAN < Col Mean(:DATA, :GROUP,:SGROUP), MAX_MEAN = Col Mean(:DATA, :GROUP,:SGROUP))
);
Show (ALL_MEAN);
Show (MAX_MEAN);
Une idée pour rendre cela plus efficace ?
Merci,
TS