Graph Builder p-Werte dynamisch hinzufügen: empfohlener WorkflowHallo JMP-Community,
Ich muss Graph Builder-Plots (~200) oft mit den Ergebnissen einer Analyse (z. B. p-Werte, Schätzungen) kommentieren. Bisher habe ich mich hauptsächlich auf manuelle Anmerkungen verlassen, aber dieser Ansatz wird mir langsam langweilig. Ich weiß, wie man Text mithilfe von Skripten dynamisch hinzufügt, habe aber keine gute Möglichkeit gefunden, mein spezifisches Problem zu lösen (siehe unten).
Welchen Arbeitsablauf würden Sie im folgenden Fall empfehlen:
Diagrammdaten : ~200 Spalten mit den Y-Werten (~1.000 Zeilen); X-Daten in einer Spalte definieren, Daten in einer Spalte überlagern, was 200 Diagramme ergibt
Analyseergebnisse : 1 Zeile pro Y-Wert, Spalten mit dem p-Wert, Schätzungen und anderen möglichen Analyseausgaben.
Hinweis : Die Automatisierung stellte eine Herausforderung dar, da sich die Ausgangsdaten von Charge zu Charge immer geringfügig unterscheiden.
Mein Hauptproblem besteht darin, dass die Diagrammdaten- und Analyseergebnistabellen orthogonal organisiert sind (Y in Spalten vs. Y in Zeilen), was eine Transponierung der Ergebnistabelle und eine Aufteilung der resultierenden Tabelle nach Analyseausgaben (p-Werte, Schätzungen usw.) erfordern würde. und verbinden Sie die resultierende Tabelle mit der Diagrammtabelle. Dies scheint nicht sehr effizient zu sein, daher wären Vorschläge willkommen.
Danke schön.
TS
Qualitäts- und VerfahrenstechnikErgebnisse teilen und kommunizierenBetreff: Graph Builder P-Werte dynamisch hinzufügen: empfohlener WorkflowIm Allgemeinen erleichtert JMP das Neuanordnen von Daten, und "ineffizient" ist ein relativer Begriff. Wenn ich das richtig verstehe, möchten Sie einige Ergebnisse von einer (Analyse-) Plattform zu denen von einer anderen (grafischen) Plattform hinzufügen. Der beste Workflow hängt von den Details ab.
Das folgende Skript erstellt einige zufällige Daten in Übereinstimmung mit Ihren obigen Aussagen. Wenn Sie es ausführen und dann das Skript veröffentlichen könnten, das die Ergebnisse Ihrer beiden ausgewählten Plattformen reproduziert, können die Leute besser spezifischere Empfehlungen geben.
NamesDefaultToHere(1);
// Make a data table
nr = 1000;
y = J(nr, 200, RandomNormal());
x = J(nr, 1, RandomUniform(1, 10));
o = J(nr, 1, RandomInteger(1, 6));
dt = AsTable(x||o||y);
dt << setName("Test");
Column(dt, 1) << setName("X");
Column(dt, 2) << setName("Overlay");Betreff: Graph Builder P-Werte dynamisch hinzufügen: empfohlener WorkflowFinden Sie angehängte 3 Dateien:
- Eingabedatentabelle wie mit Ihrem Skript generiert (geringfügige Änderung)
- Ein Beispiel für eine OUTPUT-Tabelle
- Ein Beispiel für ein PLOTS-Journal
Vielen Dank, dass Sie sich damit befasst haben.
Freundliche Grüße,
TS
Betreff: Graph Builder P-Werte dynamisch hinzufügen: empfohlener WorkflowIch bin sicher, jeder würde das etwas anders angehen. Aber wenn die beiden obigen Tabellen Ihr Ausgangspunkt sind, würde ich so etwas tun:
NamesDefaultToHere(1);
// Data tables
data = DataTable("Test WORKFLOW.jmp");
stats = DataTable("Test WORKFLOW RESULT TABLE.jmp");
// Template expression for Graph Builder with text annotation
gbExpr =
Expr(
data << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :X ), Y( yTBD ), Overlay( :Overlay ) ),
Elements(Line(X, Y, Legend( 12 ), Error Interval( "None" ))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script( 2, Description( "Annotation" ), Text( {8, 0}, "interaction P Val: "||Char(Round(pValTBD, 3))))}
)
)
)
);
// Loop over 'Y' variables
lub = LineUpBox(NCol(1));
for(c=3, c<=NCol(data), c++,
yCol = Column(data, c);
pVal = Column(stats, 2)[c-2];
lub << append(Eval(Substitute(NameExpr(gbExpr), Expr(yTBD), yCol, Expr(pValTBD), pVal)));
);
// Reports in a Journal
nw = NewWindow("Report", <<JOURNAL></JOURNAL>
Sie sollten in der Lage sein, diese Gliederung für Ihren Fall zu entwickeln. Sie können auch versuchen, eine Logik einzuschließen, um die Anmerkung an einer "besseren" Stelle zu platzieren. Wenn Sie sich nicht sicher sind, wie es funktioniert, lesen Sie 'Hilfe> Skripthandbuch' und das JSL-Buch.