IS 번호가 누락되었습니다.My_Graphs 목록을 확인하여 i번째 행이 숫자인지 여부를 확인하고 두 가지 작업 중 하나를 수행하는 다음 JSL 조각이 있습니다(열 6은 숫자와 "."로 구성됨). IF의 첫 번째 부분은 작동합니다. 차트 최소값을 LCL의 1.2로 설정하고 플롯을 그립니다. 그러나 LCL이 "."인 경우 LCL을 0으로 설정하지 않습니다. 바로 아래에는 6열의 처음 6개 행이 있습니다.
.
0.25
-2
-0.018
.
0.25
만약에 ( 숫자인가 ( 숫자 ( 내_그래프 [ 6 ][ 나 ])) ,
( 구성 << 보내다 (
{ "...에 대한 변동 차트" } ,
"2" ,
스케일박스 ,
{ 최소 ( 숫자 ( 내_그래프 [ 6 ][ 나 ]) * 1.2 ) ,
참조 라인 추가 ( 숫자 ( 내_그래프 [ 6 ][ 나 ]) , 점이 찍힌 , "빨간색" , "LCL = " || 내_그래프 [ 6 ][ 나 ] , 2 ) ,
주요 그리드 표시 ( 1 )})
) ,
( 구성 << 보내다 (
{ "...에 대한 변동 차트" } ,
"2" , 스케일박스 , { 최소 ( 0 )})
)
) ; //끝나는 경우
Re: IS 번호가 누락되었습니다.귀하의 의견에 감사드립니다. 마지막 응답에서 약간 불분명한 것 같지만 목록의 문자열을 num로 변환하면 Is Missing 함수가 예상대로 작동했습니다.
Re: IS 번호가 누락되었습니다.
@karmstro 썼다:
다음 코드를 실행하면 다음과 같은 결과를 얻습니다.
을 위한 ( 나 = 1 , 나 <= 숫자 , 나 ++,
보여주다 ( 내_그래프 [ 6 ][ 나 ]) ;
) ;
My_Graphs[6][i] = ".";
My_Graphs[6][i] = "0.25";
My_Graphs[6][i] = "-2";
My_Graphs[6][i] = "-0.018";
My_Graphs[6][i] = ".";
따옴표는 값이 다음과 같음을 나타냅니다. 문자열 . 따라서 다음을 사용하여 숫자를 숫자로 변환해야 합니다. 번호() 기능을 사용하기 위해 누락() 기능.
따라서 다음과 같아야 합니다.
if(Is Missing(num(My_Graphs [6][i])),
(Plot << dispatch(
{"Variability Chart for..."},
"2",
ScaleBox,
{Min(num(My_Graphs [6][i]) * 1.2 ),
Add Ref Line( num(My_Graphs [6][i]), Dotted, "Red", "LCL = " || My_Graphs [6][i] , 2 ),
Show Major Grid( 1 )})
),
(Plot << dispatch(
{"Variability Chart for..."},
"2", ScaleBox, {Min(0)})
)
);//end if
원래 가지고 있던 것과 정말 가깝습니다.
또는 텍스트 문자열과 비교할 수도 있습니다. "." 이와 같이:
if(My_Graphs [6][i] == ".",
(Plot << dispatch(
{"Variability Chart for..."},
"2",
ScaleBox,
{Min(num(My_Graphs [6][i]) * 1.2 ),
Add Ref Line( num(My_Graphs [6][i]), Dotted, "Red", "LCL = " || My_Graphs [6][i] , 2 ),
Show Major Grid( 1 )})
),
(Plot << dispatch(
{"Variability Chart for..."},
"2", ScaleBox, {Min(0)})
)
);//end if
Re: IS 번호가 누락되었습니다.케브 - 직장에서 이것에 대해 이야기하자...하지만 내 생각엔 당신의 문제를 알 것 같아요.
JMP는 누락된 숫자를 숫자로 처리합니다. 따라서 아래 코드를 실행하면 num_list의 모든 요소에 대해 "숫자입니다"가 반환됩니다.
num_list = { . , 0.25 ,- 2 ,- 0.018 , . , 0.25};
~을 위한 (나= 1 ,나<= 항목 (num_list),i++, 만약에 ( IsNumber (num_list[i]), 인쇄 ( "숫자예요" ), 인쇄 ( "숫자가 아니다" )) );
대신에 제가 제안하는 것은 누락된 항목을 먼저 처리하도록 if 조건을 변경하고, 그 다음에는 숫자, 그리고 일부 캐치 표현식을 처리하는 것입니다.
num_list = { . , 0.25 ,- 2 ,- 0.018 , . , 0.25 };
~을 위한 (나= 1 ,나<= 항목 (num_list),i++, 만약에 ( 누락 (num_list[i]), 인쇄 ( "없어졌어요" ), IsNumber (num_list[i]), 인쇄 ( "숫자예요" ), 인쇄 ( "이제 어떻게 해야할지 모르겠어요" )));
Re: IS 번호가 누락되었습니다.다음 코드를 실행하면 다음과 같은 결과를 얻습니다.
을 위한 ( 나 = 1 , 나 <= 숫자 , 나 ++,
보여주다 ( 내_그래프 [ 6 ][ 나 ]) ;
) ;
My_Graphs[6][i] = ".";
My_Graphs[6][i] = "0.25";
My_Graphs[6][i] = "-2";
My_Graphs[6][i] = "-0.018";
My_Graphs[6][i] = ".";
다음 코드를 실행하면 다음과 같은 결과를 얻습니다.
을 위한 ( 나 = 1 , 나 <= 숫자 , 나 ++,
보여주다 ( 누락 ( 내_그래프 [ 6 ][ 나 ])) ;
) ;
누락됨(My_Graphs[6][i]) = 0;
누락됨(My_Graphs[6][i]) = 0;
누락됨(My_Graphs[6][i]) = 0;
누락됨(My_Graphs[6][i]) = 0;
누락됨(My_Graphs[6][i]) = 0;
다음 코드를 실행하면 다음과 같은 결과를 얻습니다.
을 위한 ( 나 = 1 , 나 <= 숫자 , 나 ++,
보여주다 ( 누락 ( 숫자 ( 내_그래프 [ 6 ][ 나 ]))) ;
) ;
Is Missing(Num(My_Graphs[6][i])) = 1;
Is Missing(Num(My_Graphs[6][i])) = 0;
Is Missing(Num(My_Graphs[6][i])) = 0;
Is Missing(Num(My_Graphs[6][i])) = 0;
Is Missing(Num(My_Graphs[6][i])) = 1;
Is Missing 함수를 위해 목록 문자열을 num로 변환해야 하는 것 같습니다.
Re: IS 번호가 누락되었습니다.인용된 값인 Summarize를 사용하여 생성된 목록의 값을 전달하고 있습니까?
Re: IS 번호가 누락되었습니다.우리는 Is Missing() 함수가 작동한다는 것을 알고 있습니다. 예를 들어:
For( i = 1, i <= N Items( x ), i++,
Print( "starting iteration " || Char( i ) );
If( !Is Missing( x[i] ),
Show( x[i] ),
Print( "x is missing" );
Show( x[i] );
);
);<BR />
/*:
"starting iteration 1"
x[i] = 1;
"starting iteration 2"
"x is missing"
x[i] = .;
따라서 전달하는 데이터/값이 포함된 것이어야 합니다. 그렇기 때문에 위에서 제안한 Show()가 도움이 될 것입니다.
어쩌면 If()의 else 절에 디버깅 "Show()"를 넣어 거기에 들어왔는지 여부를 표시해야 할 수도 있습니다.
Re: IS 번호가 누락되었습니다.!Is Missing에 대한 false 조건을 평가하지 않는 것 같지만 오류는 없습니다.
값이 있을 때 최소값을 업데이트하고 차트 선을 추가하지만 if의 false 조건에 대해 최소값을 0으로 설정하지 않습니다.
Re: IS 번호가 누락되었습니다.작동하지 않는다고 말하면 정확히 무엇을 의미합니까? 오류가 발생했나요? 그래프가 잘못 업데이트되었나요? 별말씀을요?
추가할 수 있나요?
Show (My_Graphs [6][i]);
값이 무엇인지 확인하기 위해 조건문 직전에?
Re: IS 번호가 누락되었습니다.그러면 작동하지만 작동하지 않습니까?
만약에 ( ! 누락 ( 내_그래프 [ 6 ][ 나 ]) ,
( 구성 << 보내다 (
{ "변동성 차트..." } ,
"2" ,
스케일박스 ,
{ 최소 ( 숫자 ( 내_그래프 [ 6 ][ 나 ]) * 1.2 ) ,
참조 라인 추가 ( 숫자 ( 내_그래프 [ 6 ][ 나 ]) , 점이 찍힌 , "빨간색" , "LCL = " || 내_그래프 [ 6 ][ 나 ] , 2 ) ,
주요 그리드 표시 ( 1 )})
) ,
( 구성 << 보내다 (
{ "변동성 차트..." } ,
"2" , 스케일박스 , { 최소 ( 0 )})
)
) ; //끝나는 경우
Re: IS 번호가 누락되었습니다.
x=.;
show( x, isNumber(1), isNumber(0), isNumber(.), isMissing(0), isMissing(.), if( x==x, "yes", "no") )
x = .;
Is Number(1) = 1;
Is Number(0) = 1;
Is Number(.) = 1;
Is Missing(0) = 0;
Is Missing(.) = 1;
If(x == x, "yes", "no") = .;
누락된 값은 숫자이며 이를 테스트하려면 isMissing 함수가 필요합니다. 누락된 값을 비교하면 두 값이 모두 누락된 경우에도 0이나 1이 아닌 누락된 값이 반환됩니다.