Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Hallo zusammen,
Ich bin noch relativ neu bei JSL und erstelle meine Skriptcodes daher im Laufe der Zeit.
Ich versuche, einem Kontrolldiagrammfenster das Diagramm der letzten 25 Datenpunkte in einer Spalte mit M-Werten hinzuzufügen, z. B. Spalte (M-25) bis (M).
Ich denke darüber nach, das Diagrammerstellungsskript so zu ändern:
Control Chart Builder(
Size( 534, 454 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables( Y( :Name( "MyColumn" ) ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Moving Range" ) ),
Warnings( Test Beyond Limits( 1 ) )
),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text( "Last 25 Observations" )}
),
Dispatch( {}, "MyColumn Limit Summaries", OutlineBox, {Close( 1 )} )
)
)Das Problem, das ich habe, besteht darin, nur die letzten N Werte zur Anzeige auszuwählen (N könnte 25, 30 oder 100 sein). Meine Erfahrung mit anderen Programmiersprachen wie Igor oder Matlab lässt sich nicht auf JSL übertragen, um nur eine Teilmenge von Daten aus einer Spalte grafisch darzustellen.
Wenn möglich, würde ich es vorziehen, die Daten im Vergleich zum Zeilenindex darzustellen, wie in den Kontrolldiagrammen, und ich weiß, dass das Overlay-Diagramm das kann, aber ich mag es auch, wenn der Durchschnitt im Diagramm angezeigt wird. Ich würde es vorziehen, die Daten NICHT als Fit Y by X darzustellen.
Danke!
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Hallo @Godwin ,
Jede einzelne Situation ist ein wenig anders und erfordert möglicherweise eine geringfügige Änderung des Codes für die jeweiligen Besonderheiten. Wenn Sie eine Datentabelle und Ihren Code, mit dem Sie arbeiten, teilen können, könnte das mir und anderen in diesem Thread helfen, besser auf die Besonderheiten Ihrer Bemühungen einzugehen.
Danke!,
DS
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Können Sie uns bitte den genauen Code mitteilen, den Sie zur Steuerung der letzten N-Spalte verwendet haben? Ich habe kein Glück mit der Änderung.
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Danke!Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Names DefaultToHere(1);
// Open a table and give it a table reference ('dt')
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Select the data you do not want, and exclude them
dt << select where( :sex == "F" );
dt << hide and exclude;
// Clear the selections
dt << clear select;
// Create the chart, only none excluded/hidden rows will be displayed
dt << Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 6 ) ), Smoother( X, Y, Legend( 7 ) ) )
);Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Danke! Ich bin mir nicht sicher, ob ich meine Frage richtig gestellt habe. Ich möchte ein Diagramm eines bestimmten großen Datensatzes zeichnen. Aber ich muss überprüfen, ob eine bestimmte Spalte die Bedingung erfüllt, und dann, wenn die Bedingung erfüllt ist, die entsprechenden Zeilen zum Zeichnen des Diagramms berücksichtigen. Ich möchte dies über ein JSL-Skript tun. Könnten Sie mir helfen, da ich sehr Anfänger bin? Danke!
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Dies scheint eine andere Frage als das Thema des Threads zu sein, aber vielleicht versuchen Sie es mit etwas wie diesem:
Names DefaultToHere(1);
// Open a table and give it a table reference ('dt')
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Get a list of all the columns in the table
cols = dt << getColumnNames("String");
// Define any logical condition that identifies one or more columns by its name
targetCols = {};
for(c=1, c<=NItems(cols), c++, if(Contains(cols[c], "gh"), InsertInto(targetCols, cols[c])));
// Make a plot using'taregtCols' as the y variables
biv = dt << OneWay(X(:sex), Y(Eval(targetCols)));Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Hallo Herr, ich möchte ein Diagramm eines bestimmten großen Datensatzes zeichnen. Aber ich muss überprüfen, ob eine bestimmte Spalte die Bedingung erfüllt, und dann die entsprechenden Zeilen für die Darstellung des Diagramms berücksichtigen. Ich möchte dies über ein JSL-Skript tun. Könnten Sie mir helfen, da ich sehr Anfänger bin? Danke!Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Wie werden Daten aus der Datentabelle grafisch dargestellt, wobei eine bestimmte Spalte die gegebene Bedingung erfüllt?Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Hallo @txnelson , danke für den Vorschlag. Am Ende habe ich den Code leicht geändert, sodass er nach leeren Einträgen sucht und nicht nur nach Einträgen ungleich Null. Ihre Methode hat funktioniert und ich musste sie nur leicht an meine spezifische Situation anpassen.
Danke noch einmal!
lastNmiss = 0;
For( ii = N Rows( dt ), ii >= 1, ii--,
If( IsMissing(dt:weight[ii])!=1, lastNmiss++ );
If( lastnmiss == 8, Break() );
);
lastNmiss = N Row( dt ) - ii;
n = N Row( dt );
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Where( Row() > (n - lastnmiss) )
);
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Hier ist eine einfache Änderung des Skripts @Mark_Bailey schrieb, dass die Zeile gefunden wird, die die letzten x Werte ungleich Null hat
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:weight[38] = 0;
last n = 0;
For( i = N Rows( dt ), i >= 1, i--,
If( :weight[i] > 0, last n++ );
If( last n == 5, Break() );
);
last n = N Row( dt ) - i;
n = N Row( dt );
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Where( Row() > (n - last n) )
);
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?@Mark_Bailey Danke für die Hilfe.
Ich möchte jetzt versuchen, diesen Code so zu ändern, dass er die letzten N Werte ungleich Null grafisch darstellt. Ich habe mehrere Zeilen in einer Spalte, in denen möglicherweise Werte fehlen, und möchte nur die Zeilen grafisch darstellen, die einen Eintrag haben. Wenn es derzeit nur eine oder zwei Zeilen innerhalb der letzten N (in meinem Fall 25) gibt, die ungleich Null sind, werden nur diese eine oder zwei Zeilen grafisch dargestellt.
Wir freuen uns sehr über Ihre Hilfe/Ihr Feedback. Danke!
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Hat funktioniert! Danke.
Musste für die Besonderheiten leicht modifiziert werden, hat aber funktioniert.
Betreff: Wie werden die letzten N Werte einer Spalte grafisch dargestellt?Hier ist ein Beispiel mit Bivariate und Big Class, das angepasst werden könnte:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
last n = 5;
n = N Row( dt );
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Where( Row() > (n - last n) )
)
Es ist einfach.