JSL을 사용하여 각 열의 최소값을 얻기 위해 두 세트의 범위 열을 빠르게 비교하는 방법은 무엇입니까?제목이 좀 이해하기 어렵네요.
다음과 같은 큰 클래스를 예로 들어 보겠습니다.
1. 먼저 연령별 '키'와 '체중'의 평균값을 요약한다.
2. 그런 다음 연령별로 "키"와 "체중"의 중앙값을 요약합니다.
삼. 그런 다음 "높이"의 평균과 중앙값을 비교하고 최소값을 취하십시오.
마지막으로 "체중"의 평균과 중앙값을 비교하고 최소값을 취하십시오.

다음 코드를 사용하고 마지막으로 루프를 통해 최소값을 얻습니다.
이 비교를 최소화하는 좋은 코드가 있습니까?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
d1 = dt << Summary(
Group( :age ),
Mean( :height ),
Mean( :weight ),
Median( :height ),
Median( :weight ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 ),
statistics column name format( "column" )
);
c = N Col( d1 ) / 2 - 1;
For( i = 1, i <= c, i++,
ca = Column( i + 2 ) << Get Name || "0";
d1 << New Column( ca, formula( Min( As Column( 2 + i ), As Column( 2 + c + i ) ) ) );
d1 << run formulas;
Column( ca ) << deleteFormula;
);
감사!
스크립팅Re: JSL을 사용하여 각 열의 최소값을 얻기 위해 두 세트의 범위 열을 빠르게 비교하는 방법은 무엇입니까?짐 감사합니다!
Re: JSL을 사용하여 각 열의 최소값을 얻기 위해 두 세트의 범위 열을 빠르게 비교하는 방법은 무엇입니까?다음은 가능한 빠른 솔루션입니다.
Names Default To Here( 1 );
dtOrig = open("$SAMPLE_DATA/semiconductor capability.jmp");
colNames = dtOrig << get column names(continuous);
dt = dtOrig << Summary(
Group( :SITE ),
mean(colnames),median(colnames),
link to original data table(0)
);
half = N Col( dt ) / 2 - 1;
For( i = 3, i <= half, i++,
mat = dt[0, i];
mat = mat || dt[0, i + half];
v = Transpose( V Min( Transpose( mat ) ) );
dt << New Column( "Min" || Substr( Column( dt, i ) << get name, Contains( Column( dt, i ) << get name, "(" ) ),
set values( v )
);
);Re: JSL을 사용하여 각 열의 최소값을 얻기 위해 두 세트의 범위 열을 빠르게 비교하는 방법은 무엇입니까?그리고 비효율적입니다.
최소( 열로( 2 + i ), 열로( 2 + c + i ) ) )Re: JSL을 사용하여 각 열의 최소값을 얻기 위해 두 세트의 범위 열을 빠르게 비교하는 방법은 무엇입니까?이 루핑 방법은 비교를 위해 요약해야 하는 열과 행의 수가 많을 때 느립니다.
매트릭스 방법이 더 빠릅니까? 아니면 다른 좋은 방법이 있습니까?
감사합니다 전문가!