Auslesen bestimmter Daten aus Excel<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich bin ein bisschen neu in der JMP-Skripterstellung. Daher würde ich mich sehr freuen, wenn mir jemand bei diesen grundlegenden Skriptschritten helfen könnte.
Ich möchte die obigen Daten wie folgt lesen:
Lesen Sie die Daten von Test 1 (oder Test 2) für Labor A (oder Labor
und geben Sie sie als Beispiel in das folgende Format ein:
Daten für Labor-A-Test 1 = [2, 3, 4, 2, 1]
Daten für Labor-A-Test 2 = [1, 3, 2, 4, 6]
und so weiter.
Ist es möglich, die oben genannten Daten im Skriptfenster selbst anzuzeigen, damit ich weitere Skripte zur Analyse der Daten schreiben kann (wie Mittelwert, Standardabweichung usw.)?
Vielen Dank im Voraus.
Betreff: Bestimmte Daten aus Excel lesenUm es klarzustellen: Sie haben kein Problem damit, die Daten aus Excel zu erhalten. Das heißt, es befindet sich bereits in einer JMP-Datentabelle, richtig? Wenn nicht, sollten Sie erwägen, auf die Arbeitsmappe wie auf eine Datenbank zuzugreifen und eine SQL-Abfrage zu verwenden, um die benötigten Datengruppen zu isolieren.
Wenn die Daten bereits in JMP vorliegen und wie oben angezeigt angeordnet sind, warum können Sie dann Tabulate verwenden, um die gewünschten Ergebnisse für jede Gruppe zu erhalten?
Betreff: Bestimmte Daten aus Excel lesenDies ist bei weitem keine bewährte Vorgehensweise. Wenn Sie dies generell mit mehr Dateien verwenden, kann dies die Robustheit beeinträchtigen.
Wenn Sie dies mehr als einmal wiederholen müssen, tun Sie sich selbst einen Gefallen und besorgen Sie sich ein Exemplar des Buches: „Jump into jmp scripting“. Die meisten wissenschaftlichen Bibliotheken haben es.
Versuchen Sie es ansonsten.
Namen standardmäßig hier ( 1 ) ;
// Definiere die Datenquelle
dt = Aktuelle Datentabelle () ;
//Stapeln Sie die Daten, sodass sich alle Tests in einer Spalte befinden
dtstack = dt << Stapel (
Säulen ( : Test 1 , : Test 2 ) , // Fügen Sie dazu alle Ihre Testspalten hinzu
Spalte „Quellenbeschriftung“. ( "Etikett" ) ,
Gestapelte Datenspalte ( "Daten" )
) ;
// die eindeutigen Werte für Lab abrufen
Labor = Assoziatives Array ( dtstack : Labor ) << Schlüssel bekommen ;
// Eindeutige Werte für Tests abrufen
prüfen = Assoziatives Array ( dtstack : Etikett ) << Schlüssel bekommen ;
// Definiere eine Ergebnistabelle
dt1 = Neuer Tisch ( "Ergebnisse" ,
Neue Spalte ( "Labor" , Charakter , nominal ) ,
Neue Spalte ( "Prüfen" , Charakter , nominal ) ,
Neue Spalte ( "Bedeuten" ) ,
Neue Spalte ( „SD“ ) ,
) ;
// Labore und Tests in der Stack-Datentabelle durchlaufen, um Ergebnisse zu extrahieren.
Für ( ich = 1 , ich <= N Artikel ( Labor ) , ich ++,
Für ( Es = 1 , Es <= N Artikel ( prüfen ) , Es ++,
labtestrows = dtstack << Holen Sie sich Zeilen wo ( Und ( dtstack : Labor == Labor [ ich ] , dtstack : Etikett == prüfen [ Es ] ) ) ;
dt1 << Zeilen hinzufügen ( 1 ) ;
dt1 : Labor [ N-Reihe ( dt1 )] = Labor [ ich ] ;
dt1 : Prüfen [ N-Reihe ( dt1 )] = prüfen [ Es ] ;
dt1 : Bedeuten [ N-Reihe ( dt1 )] = Meanlabtest1 = Bedeuten ( dtstack : Daten [ labtestrows ] ) ;
dt1 : SD [ N-Reihe ( dt1 )] = SDlabtest1 = Standardabw ( dtstack : Daten [ labtestrows ] ) ;
)
) ;
// Ergebnistabelle schließen und als Excel speichern
Schließen ( dt1 , speichern ( „D:\Eigene Dateien\results.xlsx“ ) ) ;
Betreff: Bestimmte Daten aus Excel lesenHallo Ron,
Vielen Dank. Es ist genau das, was ich gesucht habe.
Noch eine Frage: Kann ich eine Schleife erstellen, um die Ergebnisse sowohl für Labor A/Labor B als auch für Test 1/Test 2 zu berechnen? In Matlab ist das einfach, aber wie gesagt, ich lerne immer noch, Skripte in JMP zu schreiben. Wenn möglich, wäre es auch schön, das Endergebnis in Excel zu speichern oder zu exportieren.
Nochmals vielen Dank für die Hilfe.
Betreff: Bestimmte Daten aus Excel lesenHi rajanbista1 ,
Jim hat Recht, es ist viel besser, integrierte Plattformen in JMP zu verwenden, um die Ergebnisse zu erzielen.
andernfalls ist dies eine weitere Option.
Namen standardmäßig hier ( 1 ) ;
dt = Aktuelle Datentabelle () ;
// robuster als Auswahl
labArows = dt << Holen Sie sich Zeilen wo ( dt : Labor == "A" ) ;
labBrows = dt << Holen Sie sich Zeilen wo ( dt : Labor == "B" ) ;
zeigen ( labArows , labBrows ) ;
// Werte für Labor A für jeden Test abrufen
Daten für Labor-A-Test 1 = : Test 1 [ labArows ] ;
Daten für Labor-A-Test 2 = : Test 2 [ labArows ] ;
zeigen ( Daten für Labor-A-Test 2 , Daten für Labor-A-Test 1 ) ;
// Extrahieren Sie die gewünschten Werte und geben Sie ihnen einen Namen, der später verwendet werden soll
MeanlabAtest1 = bedeuten ( Daten für Labor-A-Test 1 ) ;
SDlabAtest1 = Standard-Entwickler ( Daten für Labor-A-Test 1 ) ;
MeanlabAtest2 = bedeuten ( Daten für Labor-A-Test 2 ) ;
SDlabAtest2 = Standard-Entwickler ( Daten für Labor-A-Test 2 ) ;
// nur um die Zahlen im Protokoll anzuzeigen.
zeigen ( MeanlabAtest1 , SDlabAtest1 , MeanlabAtest2 , SDlabAtest2 ) ;
Betreff: Bestimmte Daten aus Excel lesenHier ist ein Skript, das Ihre Datentabelle übernimmt und die beiden Variablen generiert, die Sie in Ihrer Frage angegeben haben.
Namen standardmäßig hier ( 1 ) ;
dt = Aktuelle Datentabelle () ;
dt << Wählen Sie wo aus ( : Labor == "A" ) ;
Daten für Labor-A-Test 1 = : Test 1[dt << Holen Sie sich ausgewählte Zeilen ] ;
Daten für Labor-A-Test 2 = : Test 2[dt << Holen Sie sich ausgewählte Zeilen ] ;
Zeigen (Daten für Labor-A-Test 1 , Daten für Labor-A-Test 2) ;
Was mich interessiert, ist Ihre Frage zum Einfügen der oben genannten Daten in ein Skriptfenster.Ich bin mir nicht sicher, wohin du damit willst?Während Sie in JMP sicherlich Skripte schreiben können, ähnlich wie Sie es in R oder Python tun müssen, ist die Durchführung der meisten Analysen in JMP viel einfacher, wenn Sie nur die interaktiven Elemente verwenden.Sie erwähnen, dass Sie die Daten in ein Skript einfügen möchten, damit Sie die Daten analysieren können, z. B. Mittelwert, Standardabweichung usw. Solche Ergebnisse mithilfe der Tabulate- oder Verteilungsplattformen zu erhalten, bei denen Sie einfach angeben, welche Spalten analysiert werden sollen, scheint Ihren Vorstellungen zu entsprechen sollte eigentlich gehen.

