Diverse tabelle di dati create in uno stesso scriptCiao a tutti,
Sto cercando di creare una seconda tabella dati da una prima tabella dati creata in uno stesso script, è possibile?
Esempio:
dt_= Apri(percorso_pst);
//Prima tabella dati
start = Nuova tabella("W",
Nuova colonna ("S"),
Nuova colonna ("Z"),
Nuova colonna ("X"),
Nuova colonna ("Y"),
Nuova colonna ("E"),
Nuova colonna ("W"),
Nuova colonna ("S"),
Aggiungi righe(545)
);
//Alcuni calcoli
for(i=1,i<=545,i++,
W:B[i] = ((dt_ - dt_*60)/8;
W:S[i] = dt_[i];
W:X[i] = dt_[i]/10000000;
W:Y[i] = dt_[i]/10000000;
W:E[i] = dt_[i];
W:W[i] = dt_[i];
W:S[i] = dt_[i];
);
//Creazione di una seconda tabella dati
start = Nuova tabella("WIWM",
Nuova colonna ("Si"),
Nuova colonna ("Ba"),
Nuova colonna ("X1"),
Nuova colonna ("Y1"),
Nuova colonna("En"),
Nuova colonna("Wa"),
Nuova colonna ("M"),
Aggiungi righe(109)
);
//Calcolo per la seconda tabella dati basata sulla prima tabella dati creata
per (i=1, i<=109,i++,
WIWM:Ba[i] = (LA:SI[i+109]+LA:SI[i+218]+LA:SI[i+327]+LA:SI[i+436])/4;
WIWM:Si[i] = W:S[i];
WIWM:X1[i] = W:X[i];
WIWM:Y1[i] = W:Y[i];
WIWM:En[i] = W:E[i];
WIWM:Wa[i] = W:W[i];
);
Dopo che la prima tabella dati arriva come previsto, la seconda tabella dati viene fornita con i numeri di righe previsti ma oscurati (per condizione non eseguita).
Se separerò lo script, quindi in una prima parte eseguirò il primo calcolo e lo salverò e dopo aver eseguito una seconda parte sulla tabella dati salvata, eseguirò il calcolo per la seconda tabella dati.
Grazie.
Ri: Diverse tabelle di dati create in uno stesso scripthttps://community.jmp.com/t5/Uncharted/What-is-the-JSL-Matrix/ba-p/33349 è una breve introduzione. C'è anche il documento:
http://www.jmp.com/support/help/Matrices.shtml
http://www.jmp.com/support/help/Matrix_Functions.shtml
Ri: Diverse tabelle di dati create in uno stesso scriptPuoi farmi un esempio?
Grazie
Ri: Diverse tabelle di dati create in uno stesso scriptDato che stai lavorando con le matrici, allora porrò la domanda, perché stai inserendo i dati in una tabella di dati e poi trattando la tabella di dati come se fosse un detentore di matrice?Tutti i passaggi che stai eseguendo nel tuo script potrebbero essere eseguiti facilmente e più rapidamente in JSL aperto utilizzando le matrici.
Ri: Diverse tabelle di dati create in uno stesso scriptCIAO,
Grazie per un rapido replay.
Sì, sto lavorando con la matrice, la prima è n colonne e 545 righe (posso usare la funzione numero col ma era per te vedere il numero)
Dalla prima tabella dati effettiva, ho bisogno di filtrare e creare una nuova tabella dati - "la prima" con 545 righe e matrice.
Dopodiché, devo eseguire altri calcoli dal "primo" e alla fine ottenere il "secondo" con 109 righe e anche martix.
Grazie.
Ri: Diverse tabelle di dati create in uno stesso scriptGrazie Jim. Sto aggiungendo questo all'elenco delle cose su cui indagare ulteriormente... come te, non avevo idea che ci fosse qualcosa del genere.
Ri: Diverse tabelle di dati create in uno stesso scriptLa tua sceneggiatura mi ha insegnato qualcosa di nuovo.Non sono riuscito a trovare alcuna documentazione al riguardo, ma il tuo script mostra che funziona ..... più o meno.
Nel tuo codice, fai riferimento a righe e colonne nelle tabelle di dati per
nome tabella dati : nome colonna[ riga ]
Quindi quando specifichi
Inizio = Nuova tabella( "W", Nuova colonna( "S"), ..........
Fai riferimento alla colonna "S" nella riga "5" come
W:S[5]
e a quanto pare funziona.Tuttavia, più avanti nello script, si tenta di utilizzare la stessa logica per la tabella di dati nominata
Inizio = Nuova tabella( "WIWM", Nuova colonna( "Si").........
e provi a fare riferimento alla tua tabella di dati denominata W
WIWM:SI[1] = W:S[1];
e questo non funziona.
Il problema è che il modo corretto per impostare un riferimento allo spazio dei nomi della tabella dati è assegnare il nome dello spazio dei nomi mediante l'uso di un'istruzione di assegnazione, non il nome della tabella dati.Il mio nuovo apprendimento è che apparentemente JMP utilizzerà il nome della tabella dati come spazio dei nomi fino a quando non viene creata una nuova tabella dati, quindi perde il collegamento allo spazio dei nomi del nome della tabella dati.
La linea di fondo è che il tuo codice funzionerà correttamente se cambi la linea
Inizio = Nuova tabella("W",
A
W = Nuova tabella("W",
E
Inizio = Nuova tabella("WIWM",
A
WIWM = Nuova tabella("WIWM",
Infine, apri un file di qualche tipo e lo fai riferimento come
dt_ = open(percorso_pst);
Cosa stai aprendo?Suppongo che sia una matrice.Potresti per favore tornare da me su questo, così posso avere una migliore comprensione di ciò che sta realmente accadendo nel tuo codice.
Ri: Diverse tabelle di dati create in uno stesso scriptusa la tabella dei dati oggetto restituito da NewTable funzione per dire in quale tabella si trova una variabile. Le tavole nome non viene utilizzato per l'ambito delle variabili. La terza assegnazione utilizza tutte e tre le tabelle. Ho chiamato tutto in modo univoco, ma ciò non è richiesto con l'ambito. dt3: , ad esempio, imposta il scopo , o le posizioni in cui cercare la variabile che segue, z, in questo esempio.
dt1 = New Table( "table name A", New Column( "x", values( [1 2 3] ) ) );
dt2 = New Table( "table name Squares", New Column( "y" ), addrows( 3 ) );
dt3 = New Table( "table name Cubes", New Column( "z" ), addrows( 3 ) );
For( i = 1, i <= N Rows( dt1 ), i++,
dt2:y[i] = dt1:x[i] ^ 2;
dt3:z[i] = dt1:x[i] * dt2:y[i];
);
small table of Cubessmall table of Cubestavolino di Cubi