열의 마지막 N개 값을 그래프로 표시하는 방법은 무엇입니까?안녕하세요 여러분,
저는 아직 JSL을 처음 접한 상태이므로 계속 진행하면서 스크립트 코드를 작성해 보겠습니다.
M 값 열(예: colum(M-25) ~ (M))의 마지막 25개 데이터 포인트 그래프를 관리 차트 창에 추가하려고 합니다.
이를 위해 차트 빌더 스크립트를 수정하려고 합니다.
Control Chart Builder(
Size( 534, 454 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables( Y( :Name( "MyColumn" ) ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Moving Range" ) ),
Warnings( Test Beyond Limits( 1 ) )
),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text( "Last 25 Observations" )}
),
Dispatch( {}, "MyColumn Limit Summaries", OutlineBox, {Close( 1 )} )
)
)내가 겪고 있는 문제는 표시할 마지막 N 값만 선택하는 방법입니다(N은 25, 30 또는 100일 수 있음). Igor 또는 Matlab과 같은 다른 프로그래밍 언어에 대한 내 경험은 열의 데이터 하위 집합을 그래프로 표시하는 방법에 대해 JSL로 변환되지 않습니다.
가능하다면 관리 차트에서와 같이 데이터 대 행 인덱스를 플롯하는 것을 선호하며 오버레이 플롯이 그렇게 할 수 있다는 것을 알고 있지만 그래프에 평균이 표시되는 것도 좋아합니다. 나는 데이터를 Fit Y by X로 플롯하지 않는 것을 선호합니다.
감사해요!
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?안녕 @갓윈 ,
각각의 특정 상황은 조금씩 다르며 현재 세부 사항에 맞게 코드를 약간 수정해야 할 수도 있습니다. 작업 중인 데이터 테이블과 코드를 공유할 수 있다면 나와 이 스레드의 다른 사람들이 수행하려는 작업의 세부 사항을 더 잘 처리하는 데 도움이 될 수 있습니다.
감사해요!,
DS
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?마지막 N 열을 차트로 제어하는 데 사용한 정확한 코드를 공유할 수 있습니까? 수정에 대한 행운이 없습니다.
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?감사해요!Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?Names DefaultToHere(1);
// Open a table and give it a table reference ('dt')
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Select the data you do not want, and exclude them
dt << select where( :sex == "F" );
dt << hide and exclude;
// Clear the selections
dt << clear select;
// Create the chart, only none excluded/hidden rows will be displayed
dt << Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 6 ) ), Smoother( X, Y, Legend( 7 ) ) )
);Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?감사해요! 질문을 올바르게 제출했는지 잘 모르겠습니다. 주어진 빅데이터 세트의 차트를 그리고 싶습니다. 하지만 조건이 충족되면 하나의 특정 열이 충족되는지 확인한 다음 조건이 충족되면 그래프를 그릴 때 해당 행을 고려해야 합니다. jsl 스크립트를 통해 이 작업을 수행하고 싶습니다. 아주 초보자로서 저를 도와주실 수 있나요? 감사해요!
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?이것은 스레드 주제와 다른 질문인 것 같지만 다음과 같이 시도해 보십시오.
Names DefaultToHere(1);
// Open a table and give it a table reference ('dt')
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Get a list of all the columns in the table
cols = dt << getColumnNames("String");
// Define any logical condition that identifies one or more columns by its name
targetCols = {};
for(c=1, c<=NItems(cols), c++, if(Contains(cols[c], "gh"), InsertInto(targetCols, cols[c])));
// Make a plot using'taregtCols' as the y variables
biv = dt << OneWay(X(:sex), Y(Eval(targetCols)));Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?안녕하세요 선생님, 저는 주어진 빅데이터 세트의 차트를 그리고 싶습니다. 하지만 하나의 특정 열이 조건을 충족하는지 확인한 다음 그래프를 그릴 때 해당 행을 고려해야 합니다. jsl 스크립트를 통해 이 작업을 수행하고 싶습니다. 아주 초보자로서 저를 도와주실 수 있나요? 감사해요!Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?하나의 특정 열이 있는 데이터 테이블의 데이터를 그래프로 표시하는 방법은 조건이 충족됩니까?Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?안녕 @txnelson , 제안해주셔서 감사합니다. 결국 0이 아닌 항목이 아닌 빈 항목을 찾도록 코드를 약간 변경했습니다. 당신의 방법은 효과가 있었고 나는 그것을 내 특정 상황에 약간 적용해야 했습니다.
다시 한 번 감사드립니다!
lastNmiss = 0;
For( ii = N Rows( dt ), ii >= 1, ii--,
If( IsMissing(dt:weight[ii])!=1, lastNmiss++ );
If( lastnmiss == 8, Break() );
);
lastNmiss = N Row( dt ) - ii;
n = N Row( dt );
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Where( Row() > (n - lastnmiss) )
);
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?다음은 스크립트를 간단히 수정한 것입니다. @마크_베일리 0이 아닌 값이 마지막 x개 있는 행을 찾습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:weight[38] = 0;
last n = 0;
For( i = N Rows( dt ), i >= 1, i--,
If( :weight[i] > 0, last n++ );
If( last n == 5, Break() );
);
last n = N Row( dt ) - i;
n = N Row( dt );
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Where( Row() > (n - last n) )
);
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?@마크_베일리 도와 주셔서 감사합니다.
이제 해당 코드를 수정하여 마지막 N개의 0이 아닌 값을 그래프로 표시하려고 합니다. 한 열에 누락된 값이 있을 수 있는 여러 행이 있고 항목이 있는 행만 그래프로 표시하려고 합니다. 지금은 과거 N(내 경우에는 25) 내에 0이 아닌 행이 한두 개만 있는 경우 해당 행 한두 개만 그래프로 표시합니다.
귀하의 도움/피드백에 크게 감사드립니다. 감사해요!
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?일했다! 감사해요.
세부 사항을 약간 수정해야 했지만 효과가 있었습니다.
Re: 열의 마지막 N 값을 그래프로 표시하는 방법은 무엇입니까?다음은 조정될 수 있는 이변수 및 빅 클래스의 예입니다.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
last n = 5;
n = N Row( dt );
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Where( Row() > (n - last n) )
)
간단하다.