¿Cómo seleccionar y excluir filas de dt1 según una lista única de valores de dt2?así que estoy usando dt1 para ejecutar el análisis de prueba t (Media por cámara por ChartID) y luego creo una tabla de datos combinados, dt2, de todos los valores p. Quiero filtrar esto a las filas donde p<=0.05, luego crear una lista distinta y única de estos valores de p bajos y usarla para volver a trazar mi gráfico solo con los valores de p bajos.
Estoy un poco atascado ahora tratando de vincular de nuevo al dt1 original. La selección final donde no parece estar funcionando.
también para tener en cuenta, si hay una mejor manera de seleccionar, excluir, volver a unirse a la fuente dt, hágamelo saber. Probé resumen, matriz asociativa.
//creating the table of pValues
dt2 = Report( ow[1] )["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt2 << set name( "pValue PairWise by Channel Tukey")
//select and exclude high pVals
dt2 << select where("p-Value"n > 0.05);
dt2 << exclude;
//get list of remaining Unique Chart_ID's
summarize(uniqueVals=by(CHART_ID));
//trying to select on the original source data
dt1 << select where( contains( uniqueVals, :CHART_ID));
//then need to invert and excludeAnalíticasecuencias de comandosRe: ¿Cómo seleccionar y excluir filas de dt1 según una lista única de valores de dt2?La variable uniqueVals debe tener el mismo tipo de datos que dt1, por lo que puede elegir cuál cambiaría. Si no necesita tener Chart_ID como tipo de datos numéricos, lo más probable es que lo cambie a Carácter en dt1 en este caso.
Re: ¿Cómo seleccionar y excluir filas de dt1 según una lista única de valores de dt2?@jthi
entonces, después de hacer el resumen, parece que Chart_ID es numérico continuo, mientras que los datos de la fuente original dt1 Chart_ID son numéricos nominales, y la tabla pvalue dt2 es de caracteres nominales.
//extra, just to look at the data
dtUnique = New Table( "uniqueVals less 0.05");
dtUnique << New Column( "ChannelID", Values(uniqueVals));

Re: ¿Cómo seleccionar y excluir filas de dt1 según una lista única de valores de dt2?@brady_brady
buena pregunta. Entonces, mi fuente de datos (dt1) tiene Chart_ID como Numeric Nominal. Después de crear gráficos y ejecutar t-Test y luego generar una tabla de datos combinados (dt2), la columna Chart_ID es Carácter nominal.
Re: ¿Cómo seleccionar y excluir filas de dt1 según una lista única de valores de dt2?Mi primera suposición sería la falta de coincidencia entre el carácter y los valores numéricos.
A continuación se muestra un ejemplo con Big Class:
Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
ow = Oneway(Y(:height), X(:age), All Pairs(1));
dt2 = Report(ow)["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt2 << set name( "pValue PairWise by Channel Tukey");
dt2 << select where(:"p-Value"n > 0.05);
dt2 << exclude;
summarize(dt2, uniqueVals=by(:level)); //check out the type of :level column, could be character
//convert to numbers OR you could convert values in dt1 to characters
For( i = 1, i <= N Items(uniqueVals ), i++,
uniqueVals[i] = Num(uniqueVals[i] )
);
dt1 << select where(Contains(uniqueVals, :age));Re: ¿Cómo seleccionar y excluir filas de dt1 según una lista única de valores de dt2?¿Sus ID de gráficos, por casualidad, son numéricos? El resultado de by() en Summarize es una lista de cadenas de caracteres, incluso si los identificadores de grupo originales fueran números. Esto evitará que esos elementos de la lista (que, nuevamente, son cadenas) coincidan con cualquier valor en la tabla original (que son números).
??
Salud,
Brady