In generale, JMP semplifica la riorganizzazione dei dati e "inefficiente" è un termine relativo. Se ho capito bene, vuoi aggiungere alcuni risultati da una piattaforma (di analisi) a quelli di un'altra piattaforma (grafica). Il miglior flusso di lavoro dipenderà dai dettagli.
Lo script qui sotto rende alcuni dati casuali in linea con quello che dici sopra. Se potessi eseguirlo, quindi pubblica lo script che riprodurrà i risultati dalle tue due piattaforme scelte, la gente sarà in grado di dare consigli più specifici.
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");Trova 3 file allegati:
- Inserisci la tabella dei dati generata con il tuo script (modifica minore)
- Un esempio di tabella OUTPUT
- Un esempio di giornale PLOTS
Grazie per aver esaminato questo.
I migliori saluti,
TS
Sono sicuro che tutti si avvicinerebbero a questo in modo leggermente diverso. Ma se le due tabelle sopra sono il tuo punto di partenza, farei qualcosa del genere:
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>
Dovresti essere in grado di sviluppare questo schema per adattarlo al tuo caso. Puoi anche provare ad includere alcune logiche per posizionare l'annotazione in un posto "migliore". Se non si è sicuri di come funzioni, consultare "Guida> Guida agli script" e il libro JSL.