Bonjour,
J'essaie d'analyser les tendances de certaines données où j'ai conditionné plusieurs groupes de produits au fil du temps, mais ils ont les mêmes conditions initiales. Il est possible d'avoir une catégorie qui peut être appliquée à plusieurs autres catégories dans la même colonne. Ou, en d'autres termes, j'essaie de connecter chacune des lignes ci-dessous au groupe Conditions initiales.
</CODE></PRE></LINGO-BODY><LINGO-LABS id="lingo-labs-813112" slang="en-US" mode="CREATE"><LINGO-LABEL>Analyse et modélisation de données de base</LINGO-LABEL><LINGO-LABEL>Exploration et visualisation des données</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-813122" slang="en-US" mode="CREATE">Re: Tracé de plusieurs groupes avec les mêmes conditions initiales</LINGO-SUB><LINGO-BODY id="lingo-body-813122" slang="en-US" mode="CREATE"><P>À quoi ressemblent vos données ?</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813123" slang="en-US" mode="CREATE">Re: Tracé de plusieurs groupes avec les mêmes conditions initiales</LINGO-SUB><LINGO-BODY id="lingo-body-813123" slang="en-US" mode="CREATE"><P>À des fins graphiques, j'aurais tendance à reproduire les données de mon groupe de contrôle pour chacun des groupes avec lesquels vous souhaitez les afficher.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813247" slang="en-US" mode="CREATE">Re: Tracé de plusieurs groupes avec les mêmes conditions initiales</LINGO-SUB><LINGO-BODY id="lingo-body-813247" slang="en-US" mode="CREATE"><P>Je suis d'accord avec <A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687" target="_blank">@txnelson</A> , de plus, pour afficher la ligne, il suffit d' <STRONG>ajouter un seul point de données</STRONG> par groupe à l'ensemble de données - avec la valeur médiane (ou moyenne).<BR /><BR /> D’un autre côté, il est surprenant que cela soit nécessaire.<BR /> Pour chacun des groupes, des données sont disponibles pour plusieurs pas de temps, donc des données 0h devraient également être disponibles - et non un « ensemble de données 0h » <U>distinct</U> .</P><P>- si les données 0h sont prises séparément des exécutions des groupes, comment garantir que les données 0h des groupes correspondent à celles de l'ensemble de données 0h ?<BR /> - Si les groupes sont des sous-ensembles de l'ensemble de données 0h, comment garantir qu'ils sont indiscernables ? pire des cas : le groupe 30/35 correspond aux 20 % inférieurs de l'échantillon - condition 50/50 correspond aux 20 % supérieurs.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813439" slang="en-US" mode="UPDATE">Re: Tracé de plusieurs groupes avec les mêmes conditions initiales</LINGO-SUB><LINGO-BODY id="lingo-body-813439" slang="en-US" mode="UPDATE"><P>Étape de préparation des données assez courante pour les données de stabilité dans des conditions de stockage multiples. Comme décrit ci-dessous, la procédure générale pour ce faire est la suivante :</P><OL><LI>Résumez les conditions de stockage dans un tableau séparé.</LI><LI>Dépassez ces conditions à la fin de la table d’origine et définissez le point temporel de ces lignes comme point temporel initial.</LI><LI>Calculez la ou les réponses moyennes au moment de départ et utilisez cette valeur pour toutes les lignes collées ci-dessus.</LI><LI>Supprimez ou masquez/excluez les points temporels initiaux d'origine de la table de données.</LI></OL><P>Il m'est arrivé récemment de terminer un script pour aider à automatiser cela (fourni sans aucune garantie).</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>