Fonctions supplémentaires pour tableau récapitulatif via JSLJ'aimerais savoir comment je peux obtenir des tableaux récapitulatifs mais avec des statistiques supplémentaires.
Par exemple, Mode() est une fonction que l'on peut utiliser dans une formule, mais cela ne marche pas :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary( Group( :Age ),
subgroup( :sex ),
Mode( :Height )); // Mode isntead of meanJe voudrais également résumer le tableau en obtenant le dernier ou le premier numéro du groupe.
Modélisation statistique avancéeÉtudes de consommation et de marchéOrganisation du contenuFusion et nettoyage des donnéesExploration et visualisation des donnéesConception d'expériencesPersonnalisation de masseIngénierie de la qualité et des procédésRe : Fonctions supplémentaires pour le tableau récapitulatif via JSLVous pouvez créer des tableaux récapitulatifs (ou n'importe quelle fonction de tableau) beaucoup plus rapidement en définissant leur visibilité - privée, invisible, visible. quand je travaillais avec des fichiers très volumineux et que je n'avais besoin que d'extraire les modes que j'utilisais en privé.
Re : Fonctions supplémentaires pour le tableau récapitulatif via JSLJe testais cette approche et ce n'est pas faisable, j'en ai peur.
JMP met trop de temps à utiliser les distributions d'affichage lors du regroupement de nombreux éléments dans un grand tableau (un demi-million de lignes et des centaines de colonnes).
A l'inverse, les fonctions par défaut du tableau récapitulatif sont calculées très rapidement.
Re : Fonctions supplémentaires pour le tableau récapitulatif via JSLBelle astuce en utilisant la plate-forme de distributions comme moyen de les obtenir.
J'ai ajouté la demande ici.Extension des fonctions de tableau récapitulatif à n'importe quelle fonction définie (par exemple, mode, kurt, skew, etc.)
Re : Fonctions supplémentaires pour le tableau récapitulatif via JSLSalut @FN ,
il doit y avoir plusieurs façons d'obtenir ce que vous demandez même si Mode n'est pas une option dans le résumé du tableau. Vous pouvez demander le Mode dans le tableau des statistiques récapitulatives supplémentaires de la plateforme de distribution manuellement ou en cliquant sur @ian_jmp suggère. Sinon, essayez d'utiliser le complément par brady_brady :
Complément de statistiques de résumé étendu pour JMP qui fait référence au mode dans le menu.
sinon, essayez le script suivant :
Names Default To Here( 1 );
// Open Data Table: Big Class.jmp
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// get frequencies for modes
dt2 = dt << Summary(
Group( :Age, :sex, :height ),
Link to original data table( 0 )
);
// delete all rows that are not modes
dt2 << select where( Or( :N Rows != Col Max( :N Rows, :age, :sex ), :N Rows == 1 ) );
dt2 << delete rows;
// indicate first and last values per group - Not min and max unless table is first sorted!!!
dt << New Column( "id age", Numeric, "Continuous", Format( "Best", 12 ), Formula( Sum( :age[Index( 1, Row() )] == :age ) ), eval formula, );
dt:id age << delete formula;
// remove all rows that are not first or last
dt << select where( And( :id age != Col Max( :id age, :age ), :id age != 1 ) );
dt << delete rows;
// create one table with all data and sort it
dt3 = dt << concatenate( dt2, Create source column );
dt3 << New Column( "Value",
Character,
"Ordinal",
Formula( If( :id age == 1, "First", :id age > 1, "Last", :N Rows > 1, "Mode" ) ),
Set Property( "Value Order", {Custom Order( {"First", "Mode", "Last"} ), Common Order( 0 )} ),
);
dt3 << sort( By( :age, :sex, :Value ), Order( Ascending ), replace table );
Veuillez noter que dans le cas de la classe Big, tous les groupes n'ont pas de mode clair. mon approche était de supprimer la fréquence la plus élevée était égale à 1.
s'il vous plaît laissez-nous savoir si cela fonctionne ou ce qui doit être amélioré.
Ron
Re : Fonctions supplémentaires pour le tableau récapitulatif via JSLFWIW (et si vous connaissez un peu JSL), vous pouvez faire ce genre de chose :
Names Default To Here( 1 );
// Sample data
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Invisible Distribution with 'By' group(s)
dist = dt << Distribution(Continuous Distribution(Column( :height ),Customize Summary Statistics(Mode(1))), By(:age, :sex), Invisible);
// Get the Summary Stats
dt2 = Report(dist[1])[TableBox(2)] << makeCombinedDataTable;
Report(dist[1]) << closeWindow;
// Retain only the Mode
dt3 = dt2 << Subset(Rows(dt2 << getRowsWhere(:Column 1 == "Mode")));
dt3 << setName("Mode Values");
Column(dt3, "Column 1") << setName("Statistic");
Column(dt3, "Column 2") << setName("Value");
Close(dt2, NoSave);
Je considérerais également le Liste de souhaits JMP .
Re : Fonctions supplémentaires pour le tableau récapitulatif via JSLDans JMP, il existe de nombreuses façons de générer des statistiques récapitulatives groupées. Chaque méthode fournit des statistiques - et n'en fournit pas d'autres.
La plateforme de distribution et Header Statistics sont très en avance sur les autres (fonction Graph Builder, JSL Col...).
https://community.jmp.com/t5/Community-Wish-List/Wish-list-new-Label-user-experience/idc-p/771691/highlight/true#M60
Je suppose que les programmeurs des autres plateformes sont impatients de rattraper leur retard...