Come selezionare ed escludere righe da dt1 in base a un elenco univoco di valori da dt2?quindi sto usando dt1 per eseguire l'analisi t-test (media per camera di ChartID) quindi creando una tabella dati combinata, dt2, di tutti i pvalue. Voglio filtrarlo fino alle righe in cui p<=0.05, quindi creare un elenco distinto e univoco di questi valori p bassi e utilizzarlo per ricalcolare il mio grafico con solo i valori P bassi.
Sono un po' bloccato ora nel tentativo di ricollegarmi al dt1 originale. La selezione finale dove non sembra funzionare.
inoltre da notare, se c'è un modo migliore per selezionare, escludere, unire di nuovo al dt sorgente, per favore fatemelo sapere. Ho provato sommario, array associativo.
//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 excludeAnalisiScriptingRe: Come selezionare ed escludere righe da dt1 in base a un elenco univoco di valori da dt2?I tuoi ID grafico, per caso, sono numerici? Il risultato by() in Riepilogo è un elenco di stringhe di caratteri, anche se gli identificatori di gruppo originali erano numeri. Ciò impedirà a quegli elementi dell'elenco (che, di nuovo, sono stringhe) di corrispondere a qualsiasi valore nella tabella originale (che sono numeri).
??
Saluti,
Brady
Re: Come selezionare ed escludere righe da dt1 in base a un elenco univoco di valori da dt2?La mia prima ipotesi sarebbe una mancata corrispondenza tra caratteri e valori numerici.
Di seguito è riportato un esempio 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: Come selezionare ed escludere righe da dt1 in base a un elenco univoco di valori da dt2?@brady_brady
buone domande. Quindi i miei dati di origine (dt1) hanno Chart_ID come Numeric Nominal. Dopo aver creato grafici ed eseguito t-Test, quindi emesso una tabella di dati combinati (dt2), la colonna Chart_ID è Character Nominal.