Plotten der ersten Spalte gegen eine beliebige Spalte mit Ic im TitelJede Hilfe wird sehr geschätzt!
Betreff: Plotten der ersten Spalte gegen eine beliebige Spalte mit Ic im TitelOh, okay, ich habe deine letzte Antwort durchgelesen und schätze, ich war sehr gehetzt, bis zum Ende der Woche, in der ich das Herzstück deiner Frage überstrichen habe, herauszufinden. Ich lese den Skript-Leitfaden durch und finde heraus, dass ich nicht realisiert habe, dass beim Speichern im Skript alle Antworten vorhanden sind, die Sie wirklich benötigen. Also werde ich dieses Tool öfter benutzen und mich entschuldigen. Und schätzen die kontinuierliche Hilfe und das Feedback. Ich werde versuchen, meine Fragen auf die Art der Probleme zu konzentrieren, auf die sich die Community konzentriert.
Betreff: Plotten der ersten Spalte gegen eine beliebige Spalte mit Ic im TitelIn meiner letzten Antwort habe ich Ihnen einige Fragen zu der Datentabelle gestellt, die Sie angehängt haben. Die Antworten auf diese Fragen sind wichtig, da der Zweck dieser Community Discusssion-Gruppe nicht darin besteht, einen Pool von JMP-Skripten zum Generieren von Code bereitzustellen, sondern einen Pool von erfahrenen JMP-Benutzern, die Benutzern bei ihren Problemen helfen, besser zu verstehen, wie sie gelöst werden können mit JMP. Die Fragen, die ich gestellt habe, waren der Versuch, Ihnen Feedback zu geben, dass Sie verstehen, was Ihnen gegeben wurde.
Ich werde auf die aktuelle Anfrage antworten, vorausgesetzt, Sie haben die letzte Antwort studiert und verstehen sie.
Unten finden Sie ein einfaches Skript, das alle Spalten in Ihrer Datentabelle findet, deren Name "Ic" enthält.
Der zum Generieren der Diagramme erforderliche Code
Names Default To Here( 1 );
dt = Current Data Table();
// Create a list of all numeric column names
colNamesList = dt << get column names( numeric );
// get rid of all names that do not have an "Ic" in it
For( i = N Items( colNamesList ), i >= 1, i--,
If( Contains( Uppercase( ColNamesList[i] ), "IC" ) == 0,
colNamesList = Remove( colNamesList, i, 1 )
)
);
// You now have a list of columns that each column has "Ic" in it
// So you can now use it in any platform code you put after this point
// in the script
Um den Code zu generieren, der erforderlich ist, um die Plattform Fit Y by X auszuführen, wie in meiner vorherigen Antwort dargestellt, muss JMP lediglich angewiesen werden, das Skript zu speichern. Außerdem wird ein Skript generiert, das die Ausgabe so reproduziert, wie sie vorhanden ist. Also wenn das die Ausgabe ist

Sie können auf das rote Dreieck klicken und die Option zum Speichern des Skripts auswählen

und du bekommst das Drehbuch
Bivariate( Y( :Name( "1_2_7_8 IcN" ) ), X( :Name( "H(Oe)" ) ) );
Wenn Sie diese JSL-Zeile zum obigen Skript hinzufügen und ausführen, wird das Diagramm in Ihrem Skript generiert. Es wird jedoch nur das eine Diagramm generiert. Nehmen Sie also ein bisschen Code aus Ihrer Frage zu diesem Thema namens "
"Durchschnitt nach Datenreihen mit For Loop und demselben Skript in mehreren Spalten ausführen", können Sie den Code ersetzen
Eval( colNamesList )
Hier ist die Auswahl der Y-Spalte:
Bivariate( Y( Eval( colNamesList ) ), X( :Name( "H(Oe)" ) ) );
Jetzt werden alle Grafiken generiert, wenn Sie das Skript ausführen. Dies wird Ihre Frage in dieser Diskussion lösen, aber Sie haben eine weitere Frage bezüglich der Anpassung einer nichtlinearen Frage gestellt. Können Sie uns bitte weitere Einzelheiten mitteilen? Möchten Sie, dass JMP die Gleichung generiert, oder haben Sie die Gleichung? Handelt es sich um eine Polynomanpassung oder wird sie nach einer nichtlinearen Anpassungsmethode generiert? Möchten Sie, dass es auf die Grafiken passt, die mit den obigen Skripten erstellt werden, oder stellen Sie eine völlig andere Frage?
Betreff: Plotten der ersten Spalte gegen eine beliebige Spalte mit Ic im TitelUnd kennen Sie eine gute Methode, um eine nichtlineare Verteilung mithilfe eines Skripts an eine Gleichung anzupassen?
Betreff: Plotten der ersten Spalte gegen eine beliebige Spalte mit Ic im TitelNochmals vielen Dank für die Hilfe! Gibt es eine einfache Möglichkeit, dies mit einem Skript zu tun?
@txnelson schrieb:
Die JMP-Datentabelle, die Sie an Ihre Diskussion angehängt haben, kann nicht zum Plotten verwendet werden. War die Lösung für die Erstellung dieser Datentabelle, die in Ihrer vorherigen Diskussion angegeben wurde, " Laufender Durchschnitt nach Datenreihen mit For Loop und demselben Skript für mehrere Spalten ", nicht die richtige Lösung? Gibt es einen Grund, warum Sie diese Version der Datentabelle weiterhin vertreiben?
Wenn Sie die korrigierte Version der Datentabelle verwenden, können Sie diese verwenden und direkt zur Plattform Fit Y by X wechseln
Analysieren ==> Passen Sie Y an X an
und wählen Sie das H (Oe) und platzieren Sie es in den Bereich Y Response

Öffnen Sie dann den Filter für die Select Columns

Geben Sie als nächstes "Ic" in das Filterfeld ein

Wählen Sie alle oder so viele aus, wie Sie grafisch darstellen möchten, und platzieren Sie sie im Auswahlfeld X-Faktor

Klicken Sie auf OK und alle Grafiken werden erstellt

Wenn die Ic-Spalten auf der Y-Achse liegen sollen, platzieren Sie einfach die H (Oe) -Spalte im Auswahlfeld X und alle Ic-Spalten im Auswahlfeld Y
Hier ist der Code, den ich zuvor angegeben habe, um Ihre angehängte Datentabelle in eine verwendbare Tabelle zu konvertieren
Names Default To Here( 1 );
dt = Current Data Table();
// Correct the data table using the JMP table imported from the Excel file
For( i = 2, i <= N Cols( dt ), i++,
Column( dt, i ) << set name(
Word( 1, Column( dt, i ) << get name, " " ) || " " || Column( dt, i )[1]
)
);
dt << delete rows( 1 );
For( i = 2, i <= N Cols( dt ), i++,
Column( dt, i ) << data type( numeric ) << modeling type( continuous )
);
// Change the name of the first column to H(Oe)
Column( dt, 1 ) << set name( "H(Oe)" );
Betreff: Plotten der ersten Spalte gegen eine beliebige Spalte mit Ic im TitelDie JMP-Datentabelle, die Sie an Ihre Diskussion angehängt haben, kann nicht zum Plotten verwendet werden. War die Lösung für die Erstellung dieser Datentabelle, die in Ihrer vorherigen Diskussion angegeben wurde, " Laufender Durchschnitt nach Datenreihen mit For Loop und demselben Skript für mehrere Spalten ", nicht die richtige Lösung? Gibt es einen Grund, warum Sie diese Version der Datentabelle weiterhin vertreiben?
Wenn Sie die korrigierte Version der Datentabelle verwenden, können Sie diese verwenden und direkt zur Plattform Fit Y by X wechseln
Analysieren ==> Passen Sie Y an X an
und wählen Sie das H (Oe) und platzieren Sie es in den Bereich Y Response

Öffnen Sie dann den Filter für die Select Columns

Geben Sie als nächstes "Ic" in das Filterfeld ein

Wählen Sie alle oder so viele aus, wie Sie grafisch darstellen möchten, und platzieren Sie sie im Auswahlfeld X-Faktor

Klicken Sie auf OK und alle Grafiken werden erstellt

Wenn die Ic-Spalten auf der Y-Achse liegen sollen, platzieren Sie einfach die H (Oe) -Spalte im Auswahlfeld X und alle Ic-Spalten im Auswahlfeld Y
Hier ist der Code, den ich zuvor angegeben habe, um Ihre angehängte Datentabelle in eine verwendbare Tabelle zu konvertieren
Names Default To Here( 1 );
dt = Current Data Table();
// Correct the data table using the JMP table imported from the Excel file
For( i = 2, i <= N Cols( dt ), i++,
Column( dt, i ) << set name(
Word( 1, Column( dt, i ) << get name, " " ) || " " || Column( dt, i )[1]
)
);
dt << delete rows( 1 );
For( i = 2, i <= N Cols( dt ), i++,
Column( dt, i ) << data type( numeric ) << modeling type( continuous )
);
// Change the name of the first column to H(Oe)
Column( dt, 1 ) << set name( "H(Oe)" );