Comment sélectionner et exclure des lignes de dt1 en fonction d'une liste unique de valeurs de dt2 ?j'utilise donc dt1 pour exécuter une analyse de test t (moyenne par chambre par ChartID), puis en créant un tableau de données combiné, dt2, de toutes les pvalues. Je veux filtrer cela jusqu'aux lignes où p <= 0,05, puis créer une liste distincte et unique de ces pValues faibles et l'utiliser pour reploter mon graphique avec uniquement les PValues faibles.
Je suis un peu coincé maintenant en essayant de revenir au dt1 d'origine. La sélection finale où ne semble pas fonctionner.
également à noter, s'il existe une meilleure façon de sélectionner, d'exclure, de rejoindre la source dt, veuillez me le faire savoir. J'ai essayé résumé, tableau associatif.
//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 excludeAnalytiqueScriptRe : Comment sélectionner et exclure des lignes de dt1 en fonction d'une liste unique de valeurs de dt2 ?La variable uniqueVals doit avoir le même type de données que dt1, vous pouvez donc choisir celui que vous souhaitez modifier. Si vous n'avez pas besoin d'avoir Chart_ID comme type de données numérique, je changerais très probablement cela en Caractère dans dt1 dans ce cas.
Re : Comment sélectionner et exclure des lignes de dt1 en fonction d'une liste unique de valeurs de dt2 ?@jthi
donc après avoir fait le résumé, il semble que le Chart_ID est numérique continu, tandis que les données source d'origine dt1 Chart_ID sont numériques Nominal, et la table pvalue dt2 est Character Nominal.
//extra, just to look at the data
dtUnique = New Table( "uniqueVals less 0.05");
dtUnique << New Column( "ChannelID", Values(uniqueVals));

Re : Comment sélectionner et exclure des lignes de dt1 en fonction d'une liste unique de valeurs de dt2 ?@brady_brady
bonnes questions. Ainsi, mes données source (dt1) ont Chart_ID comme valeur nominale numérique. Après la création de graphiques et l'exécution de t-Test, puis la sortie d'un tableau de données combiné (dt2), la colonne Chart_ID est Character Nominal.
Re : Comment sélectionner et exclure des lignes de dt1 en fonction d'une liste unique de valeurs de dt2 ?Ma première supposition serait une inadéquation entre les caractères et les valeurs numériques.
Ci-dessous un exemple avec 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 : Comment sélectionner et exclure des lignes de dt1 en fonction d'une liste unique de valeurs de dt2 ?Vos identifiants de carte sont-ils, par hasard, numériques ? Le résultat by() dans Summarize est une liste de chaînes de caractères, même si les identificateurs de groupe d'origine étaient des nombres. Cela empêchera ces éléments de liste (qui, encore une fois, sont des chaînes) de correspondre à des valeurs dans la table d'origine (qui sont des nombres).
??
Salutations,
brady