Lettura di dati particolari da Excel<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Sono un po' nuovo nello scripting JMP. Quindi, apprezzerei davvero se qualcuno potesse aiutarmi in questi passaggi di base dello scripting.
Vorrei leggere i dati di cui sopra come segue:
Leggi i dati del Test 1 (o Test 2) per il Laboratorio A (o Laboratorio
e inseriscili nel seguente formato come esempio:
Dati per il test Lab A 1 = [2, 3, 4, 2, 1]
Dati per Lab A Test 2 = [1, 3, 2, 4, 6]
e così via.
È possibile mostrare i dati di cui sopra nella finestra di scripting stessa in modo da poter scrivere più script per analizzare i dati (come media, deviazione standard, ecc.)?
Grazie mille in anticipo
Ri: Lettura di dati particolari da ExcelQuindi, per essere chiari, non hai problemi a ottenere i dati da Excel. Cioè è già in una tabella dati JMP, giusto? In caso contrario, considera l'accesso alla cartella di lavoro come se fosse un database e utilizza una query SQL per isolare i gruppi di dati di cui hai bisogno.
Se i dati sono già in JMP e organizzati come mostrato in alto, perché è possibile utilizzare Tabula per ottenere i risultati desiderati per ciascun gruppo?
Ri: Lettura di dati particolari da ExcelQuesta non è di gran lunga la migliore pratica. L'utilizzo generico con più file potrebbe mettere in discussione la robustezza.
Se hai bisogno di ripetere l'operazione più di una volta, fatti un favore e procurati una copia del libro: "Jump into jmp scripting". La maggior parte delle biblioteche accademiche ce l'hanno.
Altrimenti prova questo.
Nomi predefiniti qui ( 1 ) ;
// definisce l'origine dati
dt = Tabella dati corrente () ;
//impila i dati in modo che tutti i test siano in una colonna
dtstack = dt << Pila (
colonne ( : Prova 1 , : Prova 2 ) , // aggiungi a queste tutte le colonne dei test
Colonna Etichetta origine ( "Etichetta" ) ,
Colonna dati in pila ( "Dati" )
) ;
// ottiene i valori univoci per Lab
laboratorio = Matrice associativa ( dtstack : laboratorio ) << prendi le chiavi ;
// ottiene valori univoci per i test
test = Matrice associativa ( dtstack : Etichetta ) << prendi le chiavi ;
// definisce una tabella dei risultati
dt1 = Nuova tabella ( "risultati" ,
Nuova colonna ( "Laboratorio" , carattere , nominale ) ,
Nuova colonna ( "Test" , carattere , nominale ) ,
Nuova colonna ( "Significare" ) ,
Nuova colonna ( "SD" ) ,
) ;
// scorre i laboratori e i test nella tabella dei dati dello stack per estrarre i risultati.
Per ( io = 1 , io <= N articoli ( laboratorio ) , io ++,
Per ( Esso = 1 , Esso <= N articoli ( test ) , Esso ++,
labtestrows = dtstack << ottieni righe dove ( E ( dtstack : Laboratorio == laboratorio [ io ] , dtstack : Etichetta == test [ Esso ] ) ) ;
dt1 << aggiungere righe ( 1 ) ;
dt1 : Laboratorio [ Riga N ( dt1 )] = laboratorio [ io ] ;
dt1 : Test [ Riga N ( dt1 )] = test [ Esso ] ;
dt1 : Significare [ Riga N ( dt1 )] = Medialabtest1 = Significare ( dtstack : Dati [ labtestrows ] ) ;
dt1 : SD [ Riga N ( dt1 )] = SDlabtest1 = Sviluppo st ( dtstack : Dati [ labtestrows ] ) ;
)
) ;
// chiude la tabella dei risultati e salva in formato Excel
Vicino ( dt1 , salva ( "D:\Documenti\risultati.xlsx" ) ) ;
Ri: Lettura di dati particolari da ExcelCiao Ron,
Grazie mille. È esattamente quello che stavo cercando.
Un'altra domanda, posso creare un ciclo per calcolare i risultati sia per Lab A/Lab B che per entrambi test 1/test 2? È facile farlo in Matlab ma, come ho detto, sto ancora imparando a scrivere script in JMP. Inoltre, se possibile, salvare o esportare il risultato finale in Excel sarebbe carino.
Grazie ancora per l'aiuto.
Ri: Lettura di dati particolari da ExcelCIAO rajanbista1 ,
Jim ha ragione, è molto meglio utilizzare le piattaforme integrate in jmp per produrre i risultati.
altrimenti, questa è un'altra opzione.
Nomi predefiniti qui ( 1 ) ;
dt = Tabella dati corrente () ;
// più robusto della selezione
labArows = dt << ottieni righe dove ( dt : Laboratorio == "UN" ) ;
labSopracciglia = dt << ottieni righe dove ( dt : Laboratorio == "B" ) ;
spettacolo ( labArows , labSopracciglia ) ;
// ottiene i valori per il laboratorio A per ciascun test
Dati per il test Lab A 1 = : Prova 1 [ labArows ] ;
Dati per il test Lab A 2 = : Prova 2 [ labArows ] ;
spettacolo ( Dati per il test Lab A 2 , Dati per il test Lab A 1 ) ;
// estrae i valori desiderati e assegna un nome da utilizzare in seguito
MeanlabAtest1 = Significare ( Dati per il test Lab A 1 ) ;
SDlabAtest1 = sviluppo std ( Dati per il test Lab A 1 ) ;
MeanlabAtest2 = Significare ( Dati per il test Lab A 2 ) ;
SDlabAtest2 = sviluppo std ( Dati per il test Lab A 2 ) ;
// solo per mostrare i numeri nel registro.
spettacolo ( MeanlabAtest1 , SDlabAtest1 , MeanlabAtest2 , SDlabAtest2 ) ;
Ri: Lettura di dati particolari da ExcelEcco uno script che prende la tua tabella dati e genera le 2 variabili che hai specificato nella tua domanda.
Nomi predefiniti qui ( 1 ) ;
dt = Tabella dati corrente () ;
dt << seleziona dove ( : Laboratorio == "UN" ) ;
Dati per il test Lab A 1 = : Prova 1[dt << ottenere le righe selezionate ] ;
Dati per il test Lab A 2 = : Prova 2[dt << ottenere le righe selezionate ] ;
Spettacolo (Dati per il test Lab A 1 , Dati per il test Lab A 2) ;
Ciò che mi incuriosisce è la tua domanda sull'inserimento dei dati di cui sopra in una finestra di script.Non sono sicuro di dove vuoi arrivare?Anche se puoi certamente scrivere script in JMP, proprio come devi fare in R o Python, eseguire la maggior parte delle analisi in JMP è molto più semplice che utilizzare semplicemente gli elementi interattivi.Dici che vuoi inserire i dati in uno script in modo da poterli analizzare, come media, std dev, ecc. Ottenere tali risultati utilizzando le piattaforme Tabulate o Distribution, dove specifichi semplicemente quali colonne analizzare sembrano essere ciò che desideri dovrebbe davvero fare.

