일반적으로 JMP를 사용하면 데이터를 쉽게 다시 정렬 할 수 있으며 '비효율'은 상대적 용어입니다. 올바르게 이해하면 한 (분석) 플랫폼의 결과를 다른 (그래픽) 플랫폼의 결과에 추가하고 싶습니다. 최상의 워크 플로는 세부 사항에 따라 다릅니다.
아래 스크립트는 위에서 말한 것과 일치하는 임의의 데이터를 만듭니다. 실행할 수 있다면 선택한 두 플랫폼의 결과를 재현하는 스크립트를 게시하면 사람들이 더 구체적인 권장 사항을 제공 할 수 있습니다.
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");나는 모든 사람들이 약간 다르게 접근 할 것이라고 확신합니다. 그러나 위의 두 테이블이 출발점이라면 다음과 같이 할 것입니다.
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>
귀하의 상황에 맞게이 개요를 개발할 수 있어야합니다. 주석을 '더 나은'장소에 배치하는 논리를 포함시킬 수도 있습니다. 작동 방법을 잘 모를 경우 '도움말> 스크립팅 안내서'및 JSL 서적을 참조하십시오.