Script exécuter automatiquement tous les sous-ensembles sélectionnésSalut,
est-il possible d'exécuter toutes les colonnes de sous-ensembles par nom qui se composent de plus de 50 noms automatiquement en même temps?
lorsque j'ai créé un sous-ensemble par nom, j'obtiens toutes les données détaillées que je veux, mais je dois cliquer une par une pour exécuter l'analyse ajustement y par x. y a-t-il un moyen pour moi de tout sélectionner et d'exécuter automatiquement l'analyse ajustement y par x? tout ce nom de sous-ensemble peut changer à chaque fois.

Tableau de donnéesScriptingRe: Script exécuter automatiquement tous les sous-ensembles sélectionnésVoici un petit script qui montre et un exemple d'une façon de faire ce que vous voulez
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// Get the current number of data tables
numDT = N Table();
// Perform the subsets
dt << Subset(
By( :age ),
All rows,
Selected columns only( 0 ),
columns( :name, :sex, :height, :weight )
);
// Loop across all new data tables and run Fit Y by X
For( i = 1, i <= N Table() - numDT, i++,
Data Table( i ) << Bivariate( Y( :height ), X( :weight ) )
);
Re: Script exécuter automatiquement tous les sous-ensembles sélectionnésLe problème est la valeur d'arrêt de votre boucle For (). Vous spécifiez
For( i = 1, i <= N Table() - numDT, i++,
puis dans votre code, vous créez une nouvelle table de données, donc la prochaine fois que la boucle se produit, la valeur de
N Table()
a augmenté d'un nombre supplémentaire, donc la variable 'i' ne peut jamais atteindre la valeur actuelle de N Table ()
Re: Script exécuter automatiquement tous les sous-ensembles sélectionnésPour info, lors du sous-ensemble, vous pouvez affecter vos tables de sous-ensemble sous forme de liste plutôt que d'utiliser N Table (), ce qui pourrait poser problème si vous avez un tas d'autres tables ouvertes (y compris généralement le sous-ensemble de table d'origine).
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// Perform the subsets
listDT = dt << Subset(
By( :age ),
All rows,
Selected columns only( 0 ),
columns( :name, :sex, :height, :weight )
);
// Loop across all new data tables and run Fit Y by X
For( i = 1, i <= N Items( listDT ), i++,
listDT[i] << Bivariate( Y( :height ), X( :weight ) )
);
Re: Script exécuter automatiquement tous les sous-ensembles sélectionnés@tikhahabusamah
Supprimer ma solution (@txnelson) et sélectionnez @ ts2 comme solution. C'est une meilleure solution!
Re: Script exécuter automatiquement tous les sous-ensembles sélectionnésJ'essaie de diviser par nom après sous-ensemble, ce qui est avant la mise en place de la table d'exécution Y par X, mais chaque fois que j'essaie d'exécuter JMP, je ne réponds plus. Pourquoi?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
// Get the current number of data tables
numDT = N Table();
// Perform the subsets
dt << Subset( By( :age ), All rows, Selected columns only( 0 ), columns( :name, :sex, :height, :weight ) );
// Loop across all new data tables and run Fit Y by X
For( i = 1, i <= N Table() - numDT, i++,
Data Table( i ) << Split( Split By( :name ), Split( :sex, :height, :weight ) )
);