Ordina una colonna per variabileCiao,
Come andrei sulla creazione di una nuova colonna che contiene i valori ordinati di una colonna di un'altra variabile?
Un esempio per chiarire, si spera: se avessi un tavolo con due righe: Nome ed età, come creerei una terza riga che mostra i nomi ordinati dal più vecchio al più giovane?
Grazie!
Ri: Ordina una colonna per variabileFare un tentativo:
names default to here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column(
"Sorted names by age",
Expression,
"None",
Formula( :Name[ Rank( :age << Get Values )][ Row() ] )
);
dt << New Column(
"Sorted names by height",
Expression,
"None",
Formula( :Name[ Rank( :height << Get Values )][ Row() ] )
);
Si noti che potrebbe essere lento per i tavoli di grandi dimensioni.
Modificato per mostrare un esempio più pertinente.
Ri: Ordina una colonna per variabileSe hai i tuoi dati in righe anziché in colonne, come in Excel, devi trasporre la tabella prima di analizzarla. Nel tuo esempio, dopo la trasposizione, avrai due colonne: Nome ed età. A questo punto, diventa semplicemente una questione di ordinare la tabella per la colonna dell'età, come suggerito da altri utenti.
Ri: Ordina una colonna per variabileQuello che hai chiesto non è facile da fare in una formula (che posso comunque inventare). È relativamente facile farlo in modo interattivo usando Tavoli-> Ordina per ordinare la tabella in una nuova tabella e quindi copiare e incollare nuovamente la colonna di interesse nella tabella originale.
Tuttavia la domanda solleva un certo interesse su ciò che stai davvero cercando di fare.
In generale, una riga di una tabella di dati rappresenta una raccolta di valori per una singola entità - un singolo studente nel tuo semplice esempio - e ogni riga non è correlata ad altre righe. Non sono sicuro di come questa nuova colonna - di Nomi nel tuo esempio - sarebbe utile in un'analisi poiché la nuova colonna è significativa solo nel contesto del suo ordine.
Puoi spiegare un po 'di più come useresti questa nuova colonna?
Un esempio per chiarire, si spera: se avessi un tavolo con due righe: Nome ed età, come creerei una terza riga che mostra i nomi ordinati dal più vecchio al più giovane?
PS: sembra che tu abbia confuso righe e colonne nel tuo esempio. Suppongo che tu intendessi davvero una tabella con due colonne e che volevi creare una terza colonna come afferma la domanda originale. Se mi sbaglio e volevi dire davvero righe, ti preghiamo di farcelo sapere.