C'è un modo per inserire un elenco di colonne come per variabili di gruppo nella colonna media/std dev/mediana?Ciao a tutti,
Sto cercando di generare una nuova colonna per essere una colonna media di :A per gruppi specificati da :B, :C,
.
C'è un modo per farlo dove :B, :C,
è una lista? Mi piacerebbe così poterlo popolare usando Col Dialog.
In caso contrario, c'è un modo per suddividere l'elenco in argomenti?
La prima riga sotto mi dà la media desiderata mentre la seconda riga mi dà la media complessiva di :A.
mean= Nuova colonna("Media", Formula(Col Media(:A, :B, :C,
)));
mean = Nuova colonna("Media", Formula(Col Media(:A, {:B, :C,
})));
Grazie in anticipo.
ScriptingRi: C'è un modo per inserire un elenco di colonne come per variabili di gruppo nella colonna media/std dev/mediana?Grazie a tutti, questo mi ha portato nella giusta direzione.
Sto ancora imparando espressioni e valutazioni, grazie per l'esempio.
Ri: C'è un modo per inserire un elenco di colonne come per variabili di gruppo nella colonna media/std dev/mediana?Certo che c'è.@jthi mostra un modo per gestirlo, convertendo gli elementi dell'elenco che otterrai dalla tua finestra di dialogo, in espressioni.Oppure, poiché JSL è un linguaggio di programmazione, ti fornisce tutte le strutture necessarie per risolvere il problema.Dato che sei un po 'nuovo in JSL, ti suggerisco caldamente di dare un'occhiata alla Guida allo scripting.È il modo migliore per conoscere le strutture e le caratteristiche di JSL.La Guida allo scripting è disponibile nella Libreria della documentazione di JMP nel menu a discesa Guida.
Ecco un altro modo per gestire il problema, che dovrebbe darti quello che vuoi
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colList = {"height", "Sex", "Age"};
__vals__ = Concat Items( colList, "," );
Eval(
Parse(
Eval Insert(
"dt << New Column( \!"Mean\!",
formula( Col Mean( ^__vals__^) )
)
;"
)
)
);
Ri: C'è un modo per inserire un elenco di colonne come per variabili di gruppo nella colonna media/std dev/mediana?Grazie Jim, ci sarebbe un modo per farlo se la dimensione dell'elenco fosse indeterminata?
Ri: C'è un modo per inserire un elenco di colonne come per variabili di gruppo nella colonna media/std dev/mediana?Se inserisci colonne in un elenco con il formato :name, puoi anche utilizzare questa opzione (idea from Utilizzo dell'elenco di colonne nelle formule )
Names Default To Here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open("$SAMPLE_DATA/big class.jmp");
col_list = {:height, :Sex, :Age};
formula_expr = Name Expr(Substitute(col_list, Expr(List()), Expr(Col Mean())));
Eval(EvalExpr(
dt << New Column("Mean", Formula(Expr(formula_expr)));
));
Per usare Eval, Eval Expr, Expr, Substitute... vedi Inserisci un'espressione in un'altra usando Eval Insert, Eval Expr, Parse e Substitute
Ri: C'è un modo per inserire un elenco di colonne come per variabili di gruppo nella colonna media/std dev/mediana?Ecco un modo semplice per risolvere questo problema
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colList = {"height", "Sex", "Age"};
Eval(
Substitute(
Expr(
dt << New Column( "Mean",
formula( Col Mean( __one__, __two__, __three__ ) )
)
),
Expr( __one__ ), Parse( ":" || colList[1] ),
Expr( __two__ ), Parse( ":" || colList[2] ),
Expr( __three__ ), Parse( ":" || colList[3] )
)
);