SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움 ...?좋은 하루 보내세요.
이전 SAS 9.1 코드를 변환하는 데 문제가 있습니다. 반복 계산 ( "할 때까지"), JSL (나는 JMP 13을 실행 중이다)에 들어간다.
* .SAS 파일을 열면 JMP 창에 나타나는 원래 SAS 코드가 첨부됩니다. 원래 SAS 스크립트에서 해당 하위 섹션을 분리하여 * jsl 형식으로 "mg_in_olivine.jsl"로 첨부했습니다.
또한 29 개의 레코드가있는 더미 데이터 집합을 포함 시켰으며 필수 매개 변수 수가 이미 계산되었습니다 (수많은 열 중 숨겨진 나머지 수).
t_niK
PCr
DVD
xmg_gt
xfe_gt
xca_gt
내가 얻을 수있는 도움을 크게 주시면 감사하겠습니다.
많은 감사합니다.
롭 프레스턴 (요하네스 버그).
Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?생각 해봐야 겠어. 단순한 IF 문에 문제가 없다. 단지 반복 일 뿐이야.
도와 주셔서 다시 한 번 감사드립니다. 천천히 여기 있습니다.
Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?도와 주신 Jim에게 정말 감사드립니다.
Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?1. Scripting Guy의 독서에 대한 Mark의 제안에 귀 기울이는 것이 좋습니다. 최근 요청에서 묻는 것은 JMP에서 "IF"문이 어떻게 보이는지 배우는 것입니다. 언어의 구문을 언어로 변환하는 것은 일반적으로 사소한 언어 문제를 파악하는 것입니다.
2. 스크립팅 인덱스를 사용할 수도 있습니다
도움말 ==> 스크립팅 색인
IF 문에 대한 문서뿐만 아니라 예제도 볼 수 있습니다.
다음은 IF 함수에 대한 스크립팅 색인의 예제입니다. 최신 요청을 직접 번역 해드립니다.
Names Default To Here( 1 );
If( Random Uniform() < 0.5,
"heads",
"tails"
);
Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?안녕 다시 짐.
스크립트의 끝에서 최종 출력 값은 xmg_ol이어야합니다. ii는 다음 코드 섹션의 입력 값입니다 (다음과 같이).
/ ** 이제 cr2o3에 대해 Gaul et al 보정을 적용합니다. - p. 225 ** /
/ ** Gaul et al에서 Delta-Fo는 % ** /
/ ** cr2o3> 0인지 확인하십시오. 그렇지 않으면 log error ** /
cr2o3 <= 0이면
cr_corr = 0;
그밖에
cr_corr = (-1.2901 * log10 (cr2o3) + 0.69) /100.0;
xmg_ol_corr = xmg_ol + cr_corr;
xmg_ol = xmg_ol_corr;
fo_oliv = xmg_ol * 100.0;
나는 조금 우둔한데 ...하지만 당신의 도움에 감사드립니다.Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?안녕하세요 짐. 응답 해 주셔서 대단히 감사드립니다.
그냥 확인 ...
Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?이것이 당신이 찾고있는 것일 수 있습니까?
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "xmg_ol_diff" );
For( i = 1, i <= N Rows( dt ), i++,
counter = 0;
While( Abs( dt:xmg_ol_diff[i] ) > 0.00001 | Is Missing( dt:xmg_ol_diff[i] ) == 1,
counter++;
If( counter > 100, Break() );
logKd = (902 + dt:dv[i] + (dt:xmg_ol_est[i] - dt:xfe_ol_est[i]) * (498 + 1.51 * (dt:PCr[i] - 30)) - 98 * (dt:xmg_gt[i] - dt:xfe_gt[i])
+1347 * dt:xca_gt[i]) / dt:t_niK[i] - 0.357;
Kd = Exp( LogKd );
xmgfe_ol = Kd * (dt:xmg_gt[i] / dt:xfe_gt[i]);
xmg_ol = xmgfe_ol / (1 + xmgfe_ol);
dt:xmg_ol_diff[i] = xmg_ol - dt:xmg_ol_est[i];
dt:xmg_ol_est[i] = xmg_ol; /** reset xmg_ol_est for next iteration **/
dt:xfe_ol_est[i] = 1.0 - xmg_ol;
);
);

Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?고마워.
Re : SAS (9.1) 반복 스크립트를 JSL로 변환하는 것에 대한 도움?을보세요 동안() 함수를 호출합니다.