수식 재실행에 대한 스크립트 질문이전 게시물에서 이 질문을 했지만 몇 주 전의 일이므로 눈치채지 못할 수도 있습니다.나는 이것이 이 그룹에 대한 쉬운 스크립팅 질문이라고 생각합니다.아래는 Stepwise Regression에 대한 Monte Carlo 시뮬레이션을 성공적으로 실행하는 스크립트(frank가 기증)입니다.그것이 하지 않은 유일한 것은 단계적 회귀를 수행하기 전에 수식에 난수가 있는 여러 열을 다시 계산하는 것입니다.<
내 실패한 시도는 스크립트의 19행입니다.감사 해요.
Clear Globals();
Clear Log();
Names Default To Here( 1 );
//Define path in and out
Path_in = Pick File( "Select file" );
If( Directory Exists( "$Desktop\Fit_Stepwise" ),
,
Create Directory( "$Desktop\Fit_Stepwise" )
);
Path_out = "$Desktop\Fit_Stepwise\";
//Run Fit model and stepwise after open datatable
dt = Open( Path_in );
For( i = 1, i <= 1000, i++,
dt << Rerun Formulas;
ow = dt << Fit Model(
Y( :Y ),
Effects(
:Column 2 001,
:Column 2 002,
:Column 2 003,
:Column 2 004,
:Column 2 005,
:Column 2 006,
:Column 2 007,
:Column 2 008,
:Column 2 009,
:Column 2 010
),
Personality( "Stepwise" ),
Run,
SendToReport( Dispatch( {}, "Step History", OutlineBox, {Close( 1 )} ) )
);
dt_result = Report( ow )[Outline Box( "Stepwise Fit for Y" )][Outline Box( "Current Estimates" )][Table Box( 1 )] << Make Into Data Table;
dt_result << save( Path_out || Char( i ) || ".csv", "csv" );
ow << close window;
dt_result << Close Window;
);
dt << Close Window;
dt_result = Multiple File Import(
<<SET folder="">F\!"" ) > 0.05 ) ) << Delete Rows;
dt_result << Distribution( Stack( 1 ), Nominal Distribution( Column( :Parameter ), Horizontal Layout( 1 ), Vertical( 0 ) ) );</SET>스크립팅Re: Rerun Formulas에 대한 스크립트 질문수식을 다시 실행해야 합니다. 어딘가에 wait(0)을 추가해야 합니까? 데이터 테이블을 보지 않고 문제가 있는 위치(행 수, 열 수, 복잡한 수식, 어떤 이유로 변경되지 않는 임의의 시드)를 테스트하는 것은 약간 어렵습니다.
이 간단한 예를 사용하면 값이 잘 업데이트되는 것 같습니다.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
New Column("Column1", Numeric, "Continuous", Format("Best", 12), Formula(Random Normal(1, 1))),
New Column("Column2", Numeric, "Continuous", Format("Best", 12), Formula(Random Normal(2, 1)))
);
For(i = 1, i <= 3, i++,
dt << Rerun Formulas;
Show(dt:Column1 << get as matrix);
Show(dt:Column2 << get as matrix);
fm = dt << Fit Model(
Y(:Column1),
Effects(:Column2),
Personality("Stepwise"),
Run,
SendToReport(Dispatch({}, "Step History", OutlineBox, {Close(1)}))
);
dt_result = Report(fm)[Outline Box("Stepwise Fit for Column1")][Outline Box("Current Estimates")][Table Box(1)] << Make Into Data Table;
fm << close window;
//dt_result << Close Window;
);Re: Rerun Formulas에 대한 스크립트 질문파일을 첨부했습니다.Rerun Formulas를 올바른 위치에 삽입한 것 같지만 작동하지 않습니다.대기는 어떻게 그리고 어디로 가나요?
Re: Rerun Formulas에 대한 스크립트 질문열이 평가될 것인지 확인하기 위해 다음을 For 루프 앞에 추가합니다(JMP16 이전 버전을 사용하는 경우 For Each를 For로 변경).
For Each({col_name}, dt << get column names(String),
Column(dt, col_name) << suppress eval(False)
);
내가 연 표에서 수식 열에 평가가 표시되지 않았지만 다운로드한 파일의 안전 기능일 수 있습니다.
wait(0)을 추가해야 하는 경우 for-loop 내부의 모든 행 다음에 거의 추가할 수 있습니다. 일반적으로 JMP에서는 필요하지 않지만 필요한 경우가 있습니다.