Ciao a tutti!
Ad esempio, questo codice, leggendo i dati in "copydt" e come usare JSL per leggere "KATIE" in "copydt" in un solo passaggio, ho usato due passaggi nel codice.
dt = Open("$SAMPLE_DATA\Big class.jmp");Wait(0);
copydt = dt[0,0];
dt[0,0] = .;
a=copydt[1,1];
b=a[1,1];
c={copydt[1,1][1,1]};
dt[0,0] = copydt;Wait(0);
Inoltre, come modificare i dati in "copydt" direttamente con JSL?
Ad esempio, modifica il nome della prima riga in "KATIE2" e modifica l'età della prima riga in 18.
Scrive i dati modificati nella tabella dei dati originale.
Grazie!

Per rispondere alla domanda sollevata nell'argomento di questa discussione, utilizzare i pedici sulla variabile che contiene i dati formati dalla tabella dei dati. È possibile utilizzare il debugger o il registro per esaminare i risultati mentre si procede nell'esempio. Userò il registro.
dt = Open("$SAMPLE_DATA\Big class.jmp");
copydt = dt[0,0];
La sottoscrizione usata in dt [0,0] fa riferimento a tutte le righe e tutte le colonne - l'intera tabella. La variabile copydt contiene un elenco di elenchi. Ogni elenco secondario è una riga nella tabella di dati originale.
dt[0,0] = .;
L'assegnazione di mancanti si verifica per tutte le righe e tutte le colonne - l'intera tabella. La tabella dei dati ora contiene 40 righe di valori mancanti per 5 colonne di dati.
a = copydt[1,1];
Questa espressione utilizza sottoscrizioni elenco standard. Stai recuperando il primo elemento nell'elenco. Il valore è un elenco che rappresenta la prima riga nella tabella dati originale. Quando impari a sottoscrivere elenchi, sai che questa espressione richiede due volte la stessa cosa: il primo elemento. Tutte le seguenti espressioni sono identiche.
a = copydt[1];
a = copydt[1,1];
a = copydt[1,1,1];
Quindi la prima forma è più concisa e preferita.
b = a[1,1];
Come nell'espressione precedente. Stai recuperando il primo elemento nell'elenco. Il valore è una stringa di caratteri dalla prima colonna nella prima riga della tabella dati originale.
c = { copydt[1,1][1,1] }; // c = { copydt[1][1] } is equivalent, sufficient, and preferred
Hai assegnato un elenco di un elemento a una variabile. Non è stata eseguita alcuna valutazione della voce di elenco.
dt[0,0] = copydt;
È stato assegnato l'elenco di elenchi all'intera tabella di dati. Ogni elenco secondario diventa una nuova riga nella tabella dei dati. Questo passaggio dimostra il comportamento simmetrico tra la seconda riga e l'ultima riga.
Per rispondere alle domande sollevate nel corpo della discussione, si utilizzano gli script:
copydt[1][1] = "Katie2";
copydt[1][2] = 18;
I pedici sono nidificati. Quindi leggi copydt [1] [1] = "Katie2" come assegnare "Katie2" al primo oggetto all'interno del primo oggetto. Leggere copydt [1] [2] = 18 come assegnare 18 al secondo oggetto all'interno del primo oggetto.
Si noti che la capacità di mescolare i dati tra la tabella dei dati, matricx e l'elenco delle strutture di dati cambia con ogni versione di JMP. In generale, le capacità aumentano e diminuiscono le differenze tra le strutture.
Quindi, ho spiegato cosa hai fatto, ma non ho idea del perché lo hai fatto o di ciò che vuoi realizzare. Il tuo argomento è molto ampio e vago. Che cosa vuoi fare?
Selezionare Aiuto > Libri > Guida agli script in JMP per informazioni e spiegazioni più complete su tabelle di dati, elenchi e matrici.