Hola,
Estoy intentando analizar las tendencias de algunos datos en los que he condicionado varios grupos de productos a lo largo del tiempo, pero que tienen las mismas condiciones iniciales. Es posible tener una categoría que se pueda aplicar a varias otras categorías en la misma columna. O, en otras palabras, estoy intentando conectar cada una de las líneas siguientes con el grupo Condiciones iniciales.
</CODE></PRE></LINGO-BODY><LINGO-LABS id="lingo-labs-813112" slang="en-US" mode="CREATE"><LINGO-LABEL>Análisis y modelado de datos básicos</LINGO-LABEL><LINGO-LABEL>Exploración y visualización de datos</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-813122" slang="en-US" mode="CREATE">Re: Trazado de múltiples grupos con las mismas condiciones iniciales</LINGO-SUB><LINGO-BODY id="lingo-body-813122" slang="en-US" mode="CREATE"><P>¿Cómo se ven sus datos?</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813123" slang="en-US" mode="CREATE">Re: Trazado de múltiples grupos con las mismas condiciones iniciales</LINGO-SUB><LINGO-BODY id="lingo-body-813123" slang="en-US" mode="CREATE"><P>Para fines gráficos, tendría la tendencia a replicar los datos de mi grupo de control para cada una de las agrupaciones con las que quiero mostrarlos.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813247" slang="en-US" mode="CREATE">Re: Trazado de múltiples grupos con las mismas condiciones iniciales</LINGO-SUB><LINGO-BODY id="lingo-body-813247" slang="en-US" mode="CREATE"><P>Estoy de acuerdo con <A href="https://community.jmp.com/t5/user/viewprofilepage/user-id/2687" target="_blank">@txnelson</A> , además, para que se muestre la línea, es suficiente <STRONG>agregar un solo punto de datos</STRONG> por grupo al conjunto de datos, con el valor mediano (o media).<BR /><BR /> Por otra parte, es sorprendente que sea necesario hacer esto.<BR /> Para cada uno de los grupos, hay datos disponibles para varios pasos de tiempo, por lo que también deberían estar disponibles los datos de 0 h, no un "conjunto de datos de 0 h" <U>separado</U> .</P><P>- Si los datos 0h se toman por separado de las ejecuciones de los grupos, ¿cómo garantizar que los datos 0h de los grupos coincidan con los del conjunto de datos 0h?<BR /> - Si los grupos son subconjuntos del conjunto de datos 0h, ¿cómo garantizar que sean indistinguibles? peor caso: el grupo 30/35 corresponde al 20% inferior de la muestra - la condición 50/50 corresponde al 20% superior.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-813439" slang="en-US" mode="UPDATE">Re: Trazado de múltiples grupos con las mismas condiciones iniciales</LINGO-SUB><LINGO-BODY id="lingo-body-813439" slang="en-US" mode="UPDATE"><P>Paso de preparación de datos bastante común para datos de estabilidad en múltiples condiciones de almacenamiento. Como se describe a continuación, el procedimiento general para realizar esto es:</P><OL><LI>Resuma las condiciones de almacenamiento en una tabla separada.</LI><LI>Pasadas esas condiciones al final de la tabla original, establece el punto de tiempo para esas filas como el punto de tiempo inicial.</LI><LI>Calcule las respuestas promedio en el punto de tiempo inicial y use ese valor para todas las filas pegadas arriba.</LI><LI>Eliminar u ocultar/excluir los puntos de tiempo iniciales originales de la tabla de datos.</LI></OL><P>Resulta que recientemente terminé un script para ayudar a automatizar esto (se proporciona sin garantía alguna).</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>