Hallo,
Ich versuche, die Trends einiger Daten zu analysieren, bei denen ich im Laufe der Zeit mehrere Produktgruppen konditioniert habe, die aber dieselben Anfangsbedingungen haben. Es ist möglich, eine Kategorie zu haben, die auf mehrere andere Kategorien in derselben Spalte angewendet werden kann. Oder anders ausgedrückt: Ich versuche, jede der folgenden Zeilen mit der Gruppe „Anfangsbedingungen“ zu verbinden.
</CODE></PRE></LINGO-BODY><LINGO-LABS id="lingo-labs-813112" slang="en-US" mode="CREATE"><LINGO-LABEL>Grundlegende Datenanalyse und Modellierung</LINGO-LABEL><LINGO-LABEL>Datenexploration und -visualisierung</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-813122" slang="en-US" mode="CREATE">Betreff: Plotten mehrerer Gruppen mit denselben Anfangsbedingungen</LINGO-SUB><LINGO-BODY id="lingo-body-813122" slang="en-US" mode="CREATE"><P>Wie sehen Ihre Daten aus?</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813123" slang="en-US" mode="CREATE">Betreff: Plotten mehrerer Gruppen mit denselben Anfangsbedingungen</LINGO-SUB><LINGO-BODY id="lingo-body-813123" slang="en-US" mode="CREATE"><P>Für grafische Zwecke würde ich dazu neigen, meine Kontrollgruppendaten für jede der Gruppierungen zu replizieren, mit denen ich sie anzeigen möchte.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813247" slang="en-US" mode="CREATE">Betreff: Plotten mehrerer Gruppen mit denselben Anfangsbedingungen</LINGO-SUB><LINGO-BODY id="lingo-body-813247" slang="en-US" mode="CREATE"><P>Ich stimme mit <A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687" target="_blank">@txnelson</A> überein. Darüber hinaus reicht es aus, dem Datensatz pro Gruppe <STRONG>einen einzelnen Datenpunkt hinzuzufügen</STRONG> – mit dem Medianwert (oder Mittelwert), um die Linie anzuzeigen.<BR /><BR /> Andererseits ist es überraschend, dass dies getan werden muss.<BR /> Für jede der Gruppen stehen Daten für mehrere Zeitschritte zur Verfügung, es sollten also auch 0h-Daten verfügbar sein und nicht ein <U>separater</U> „0h-Datensatz“.</P><P>– Wenn die 0h-Daten getrennt von den Läufen der Gruppen erfasst werden, wie kann garantiert werden, dass die 0h-Daten für die Gruppen mit denen des 0h-Datensatzes übereinstimmen?<BR /> - Wenn die Gruppen Teilmengen des 0h-Datensatzes sind, wie kann garantiert werden, dass sie nicht unterscheidbar sind? Worst Case: Gruppe 30/35 entspricht den unteren 20% der Stichprobe – Bedingung 50/50 entspricht den oberen 20%.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813439" slang="en-US" mode="UPDATE">Betreff: Plotten mehrerer Gruppen mit denselben Anfangsbedingungen</LINGO-SUB><LINGO-BODY id="lingo-body-813439" slang="en-US" mode="UPDATE"><P>Ein ziemlich üblicher Schritt zur Datenvorbereitung für Stabilitätsdaten unter verschiedenen Lagerbedingungen. Wie unten beschrieben, ist das allgemeine Verfahren hierfür:</P><OL><LI>Fassen Sie die Lagerbedingungen in einer separaten Tabelle zusammen.</LI><LI>Übergeben Sie diese Bedingungen am Ende der Originaltabelle und legen Sie den Zeitpunkt für diese Zeilen als Anfangszeitpunkt fest.</LI><LI>Berechnen Sie die durchschnittliche(n) Antwort(en) zum Startzeitpunkt und verwenden Sie diesen Wert für alle oben eingefügten Zeilen.</LI><LI>Löschen oder Ausblenden/Ausschließen der ursprünglichen Anfangszeitpunkte aus der Datentabelle.</LI></OL><P>Ich habe gerade zufällig ein Skript fertiggestellt, das dies automatisiert (ohne Garantie oder Gewährleistung).</P><P> </P><PRE><CODE class=" language-jsl">Names Default To Here( 1 );
// utility to replicate stability condition labels and variables at time Zero for each stabilty condition
dt = Current Data Table();
timelistdisplay = 0;
nw = New Window( "Replicate Initial Time Point Results Across Conditions",
hb = H List Box(
pb_1 = Panel Box( "Select Columns", clb_1 = Col List Box( all ) ),
pb_2 = Panel Box( "Case Column into Role",
lub_variables = Lineup Box( N Col( 2 ),
Button Box( "Time Column",
Try(
clb_time << append( clb_1 << get selected );
c_time_name = (clb_time << get items)[1];
);
c_time = Column( dt, c_time_name );
time_list = Associative Array( As List( (c_time << get values) ) ) << get keys;
For Each( {s, i}, time_list, time_list[i] = Char( s ) );
If( !timelistdisplay,
pb_2 << Append(
hb_timelist = H List Box( Text Box( "Initial Time Point to Replicate" ), combox = Combo Box( {} ) )
);
timelistdisplay = 1;
);
combox << set items( time_list );
),
clb_time = Col List Box( "numeric", Max Items( 1 ), nlines( 1 ), minItems( 1 ) ),
Button Box( "Stability Condition Columns", clb_stabcond << append( clb_1 << get selected ) ),
clb_stabcond = Col List Box( Min Items( 1 ), nLines( 4 ) ),
Button Box( "Response Columns", clb_response << append( clb_1 << get selected ) ),
clb_response = Col List Box( minItems( 1 ), nlines( 5 ) ),
)
),
pb_3 = Panel Box( "Actions",
V List Box(
Button Box( "OK",
responsecols = clb_response << get items;
// check that all boxes are populated and if so, then do actions
If(
N Items( clb_time << get items ) & N Items( clb_stabcond << get items ) &
N Items( clb_response << get items ),
// make list of column references for the stability condition columns
dt << clear select;
Eval(
Substitute(
Expr(
dt << select where( As Column( dt, c_time_name ) != vvv )
),
Expr( vvv ),
Num( combox << get selected )
)
);
dt_sub = dt << Subset( Selected Rows( 1 ), Selected columns only( 0 ) );
stab_cond_col_list = {};
For Each( {s, i}, clb_stabcond << get items, Insert Into( stab_cond_col_list, Column( dt, s ) ) );
dt_summary = dt_sub << Summary(
Group( stab_cond_col_list ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 ),
output table name( "Stability Conditions" )
);
dt_summary << delete columns( :N Rows );
Close( dt_sub, nosave );
cnew = dt_summary << New Column();
cnew << set name( c_time_name );
timezero = Num( combox << get selected );
cnew << Set Values( J( N Row( dt_summary ), 1, timezero ) );
dt << clear select;
// get the results for time zero
Eval(
Substitute(
Expr(
dt << select where( As Column( dt, c_time_name ) == vvv )
),
Expr( vvv ),
Num( combox << get selected )
)
);
// add those to the summary table of conditions
For Each( {rc}, responsecols,
val = Mean( Column( dt, rc )[dt << get selected rows] );
c = dt_summary << New Column( rc );
c << set values( J( N Rows( dt_summary ), 1, val ) );
);
// hide and exclude the initial values results in the first table
dt << hide and exclude;
dt << clear select;
// now concatenate the summary table onto the original table.
dt << Concatenate( dt_summary, Append to first table );
close(dt_summary, nosave);
nw<<CLOSE window=""></CLOSE>Example: (also attached)
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MathStatChem_1-1731704006225.png" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="MathStatChem_1-1731704006225.png" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/70256i4E461D2F9CFB7556/MathStatChem_1-1731704006225.png" role="button" title="MathStatChem_1-1731704006225.png" alt="MathStatChem_1-1731704006225.png" /></span></SPAN>
Dialog:
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MathStatChem_2-1731704075831.png" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="MathStatChem_2-1731704075831.png" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/70257i6FDA957D441996BE/MathStatChem_2-1731704075831.png" role="button" title="MathStatChem_2-1731704075831.png" alt="MathStatChem_2-1731704075831.png" /></span></SPAN>
Result:
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MathStatChem_3-1731704134924.png" style="width: 999px;"><span class="lia-inline-image-display-wrapper" image-alt="MathStatChem_3-1731704134924.png" style="width: 999px;"><img src="https://us.v-cdn.net/6038925/uploads/images/70258i63CBC9328FC01167/MathStatChem_3-1731704134924.png" role="button" title="MathStatChem_3-1731704134924.png" alt="MathStatChem_3-1731704134924.png" /></span></SPAN>