Funciones adicionales para la tabla de resumen a través de JSLMe gustaría saber cómo puedo obtener tablas resumen pero con estadísticas adicionales.
Por ejemplo, Modo() es una función que se puede usar en una fórmula, pero esto no funciona:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary( Group( :Age ),
subgroup( :sex ),
Mode( :Height )); // Mode isntead of meanTambién me gustaría resumir la tabla obteniendo el último o el primer número del grupo.
Tabla de datosScriptingRe: funciones adicionales para la tabla resumen a través de JSLFWIW (y si conoce un poco de JSL), puede hacer este tipo de cosas:
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);
También consideraría el Lista de deseos de JMP .
Re: funciones adicionales para la tabla resumen a través de JSLHola @FN ,
debe haber muchas formas de obtener lo que está pidiendo, aunque el modo no sea una opción en el resumen de la tabla. Puede solicitar el Modo en la tabla de resumen de estadísticas adicionales en la plataforma de distribución manualmente o haciendo clic en como @ian_jmp sugiere. De lo contrario, intente usar el complemento de brady_brady:
Complemento de estadísticas de resumen extendido para JMP que refferes el modo del menú.
alternativamente, pruebe el siguiente script:
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 );
tenga en cuenta que en el caso de la clase grande, no todos los grupos tienen un modo claro. mi enfoque fue eliminarlo, la frecuencia más alta era igual a 1.
Háganos saber si funciona o qué necesita mejorar.
Ron
Re: funciones adicionales para la tabla resumen a través de JSLBuen truco usando la plataforma de distribuciones como una forma de obtenerlos.
He agregado la solicitud aquí.Extender las funciones de la tabla de resumen a cualquier función definida (por ejemplo, modo, kurt, sesgo, etc.)
Re: Funciones adicionales para la tabla de resumen a través de JSLEstaba probando este enfoque y me temo que no es factible.
JMP tarda demasiado en usar las distribuciones de espectáculos al reagrupar muchos elementos en una tabla grande (medio millón de filas y cientos de columnas).
Por el contrario, las funciones predeterminadas en la tabla de resumen se calculan muy rápido.