<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요, 데이터 테이블에 누락 된 데이터가있을 때 JSL 스크립팅에 대한 도움을 얻으려고합니다.
우리는 JSL을 사용하여 다음과 같은 데이터 테이블로 데이터를 가져 오는 데이터베이스에 대해 쿼리를 실행합니다.
플레이트 | 화합물 | M1 | M2 | M3 | M4 |
A121 | cmp001 | 85.203 | 30.022 | 36.797 | 0.0629 |
A122 | cmp002 | 84.031 | 34.902 | 31.596 | 0.063 |
A123 | cmp003 | 89.028 | 30.677 | 34.903 | 0.063 |
A124 | cmp004 | 91.2455 | 35.277 | 35.327 | 0.0631 |
A125 | cmp005 | 91.257 | 36.927 | 38.836 | 0.063 |
여기서 M은 모두 다른 측정 값입니다. 우리는 데이터로부터 여러 개의 플롯을 만드는 JSL 스크립트를 가지고 있으며
모델에 맞춤 (
Y (: M1, : M2, : M3, : M4),
효과 (: 플레이트, : 화합물, : 플레이트 * : 화합물),
개성 (표준 최소 자승),
강조 (효과 레버리지),
운영(
: M1 << {Fit (0)의 부족, 예측에 의한 실제 플롯 (1),
플롯 회귀 (0), 예측 잔차 (1),
플롯 효과 활용 (1), VIF 표시 (1), {: 변형률 <<
{LSMeans Tukey HSD (0.05, 크로스 탭 보고서 (0))}}},
: M2 << {Fit (0)의 부족, 예측에 의한 실제 플롯 (1),
플롯 회귀 (0), 예측 잔차 (1),
플롯 효과 활용 (1), VIF 표시 (1), {: 변형률 <<
{LSMeans Tukey HSD (0.05, 크로스 탭 보고서 (0))}}},
: M3 << (Fit (0)의 부족, 예측에 의한 실제 플롯 (1),
플롯 회귀 (0), 예측 잔차 (1),
플롯 효과 활용 (1), VIF 표시 (1), {: 변형률 <<
{LSMeans Tukey HSD (0.05, 크로스 탭 보고서 (0))}}},
: M4 << {적합하지 않음 (0), 예측에 의한 실제 플롯 (1),
플롯 회귀 (0), 예측 잔차 (1),
플롯 효과 활용 (1), VIF 표시 (1), {: 변형률 <<
{LSMeans Tukey HSD (0.05, 크로스 탭 보고서 (0))}}},
)
)
문제가 발생하는 곳은 가끔씩 측정 시스템에 문제가 생겨 M3 또는 M4 전체 열이 누락 된 값 (개수 = 0)으로 가득 차는 경우입니다. 이 경우 Fit 모델이 JSL 스크립트를 충돌시킵니다.
때로는 열에 데이터가없는 데이터 테이블에 대해 Fit Model을 스크립팅하는 가장 좋은 방법은 무엇입니까? 어떤 열에 데이터가 들어 있는지를 먼저 확인한 다음 Fit Model 플랫폼에 목록으로 전달하는 쉬운 방법이 있습니까? 어떤 열이 비어 있는지 확인하기 위해 IF 문을 많이 작성한 다음 실제로 10 가지 이상의 측정 값이 있고 그 중 하나가 누락 될 수 있으므로 다른 모델 스크립트를 실행하는 것과 같은 느낌이 들지 않습니다. 모든 일.
당신의 도움을 주셔서 감사합니다.
적어도 JMP 9에서는 Fit Model ()이 목록 인수를 허용합니다. 목록이 변수 인 경우 Eval ()을 사용해야합니다.
비어 있지 않은 컬럼을 가진리스트를 만드는 법에 대한 예제를 썼다. (완전 할지라도 추가하기는 쉽지 않다.)
이즈 = { : M1 , : M2 , : M3 , : M4 } ;
에 대한 ( 나는 = N 개 항목 ( 이즈 ) , 나는 > 0 , 나는 -,
요약하다 ( 엔 = 카운트 ( 이즈 [ 나는 ] ) ) ;
만약 ( 엔 == 0 ,
에서 제거 ( 이즈 , 나는 )
) ;
) ;
모델에 맞추기 (
와이 ( 평가 ( 이즈 ) ) ,
효과 ( ...