저는 종종 수식 열을 사용하여 다른 범주 형 열의 조합으로 열을 요약합니다. 예를 들어 세제 샘플 데이터에서는 부드러움과 온도의 각 조합에 대한 평균 개수를 알고 싶을 수 있습니다. 아래에 나와있는 세 가지 방법을 사용합니다. 하나는 데이터 표의 크기와 잠재 고객이 다른 것입니다. 더 쉬운 방법이 있습니까?
필자는 이식성 문제로 인해 사용자 정의 'Col Mean by Multiple Columns ()'함수가 포함 된 추가 기능을 사용하지 않습니다.
유물
tabulate를 사용하여 새 테이블에 요약 통계를 만든 다음 결과를 원래 데이터 테이블에 조인합니다.
프로 : 매우 복잡한 요약 통계를 작성하기 쉽습니다.
단점 : 분석 중에 참조 된 열이 변경된 경우 데이터를 새로 고칠 필요가 없으며 사용자가 데이터 소스를 따르지 않아도됩니다.
비닝 포뮬러
binning 수식을 만든 다음 Col Mean () 함수의 두 번째 인수를 사용하여 해당 bin을 참조하십시오.
프로 : 설정하기 쉽고 사용자가 따라 가기 쉽습니다.
단점 : 특히 많은 요약 열을 만들 때이 수식을 제외하고는 데이터 테이블을 복잡하게 만드는 추가 열을 만듭니다.
dt = Open( "$sample_data/Detergent.jmp" );
//binning formula
dt << New Column(
"Bin by Temp and Softness",
Character,
"Nominal",
Formula( :softness || "-" || :temperature )
);
//summary statistic
dt << New Column(
"Mean Count by Temp and Softness Binned",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Col Mean( :count, :Bin by Temp and Softness) )
);
수식 내에서 JSL을 사용하여 저장소를 식별하고 요약 통계를 계산합니다.
데이터 테이블에서 유사한 행을 식별 한 다음 해당 데이터에 대한 요약 통계를 계산하십시오. 나는 JMP가이 방법을 사용하여 결과를 캐시하지 않는다고 의심하여 전체 테이블을 모든 행에 대해 다시 평가합니다. 어쨌든 대용량 데이터 테이블에서는 속도가 느립니다.
프로 : 다양한 유연성
단점 : 계산 속도가 느리며 사용자가 따르기가 매우 어렵습니다.
//summary statistic by bin
dt << New Column(
"Mean Count by Temp and Softness Direct",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
matches = Function( {a, b},
out = {};
For( i = 1, i <= N Items( a ), i++,
found = "no";
For( j = 1, j <= N Items( b ), j++,
If( a[i] == b[j],
found = "yes"
)
);
If( found == "yes",
out = Insert( out, a[i] )
);
);
out;
);
soft = Loc( :softness << get values(), :softness );
temp = Loc( :temperature << get values(), :temperature );
Mean( (:count << get values())[matches( soft, temp )] );
)
);좋아, 도움이 돼서 기쁩니다! 나는 JMP의 최근 버전 (JMP 11 이후)에서 ColMean ()에서 직접 여러 개의 열 매개 변수를 가질 수 있다고 언급 했어야했다. 따라서 연결하는 것보다는 다음과 같이 할 수 있습니다.
Col Mean( :count, :softness, :temperature )
나는 너무 익숙하다. 나는 여전히 그렇게하고있다. 오래된 습관은 힘들어 죽는다 
또한 JMP 12 이상에서는 데이터 테이블의 순간 수식을 사용하여 테이블에서 해당 열을 선택하고 헤더 중 하나를 마우스 오른쪽 단추로 클릭 한 다음 새 수식 열> 그룹화를 선택할 수 있습니다.

그런 다음 개수 열을 선택하고 헤더를 마우스 오른쪽 버튼으로 클릭 한 다음 새 수식 열> 집계> 평균을 선택합니다.

그러면 자동으로 수식이 디자인됩니다. 새로운 사용자에게 매우 친숙합니다.
안녕하세요 @ih ,
나는이 일을 꽤 자주하는 것을 발견한다. 나를 위해 작동하는 한 가지 방법은 Col Mean (: column, byvariable)과 같은 열 수식을 사용하고 두 번째 매개 변수는 두 개의 범주 형 열을 직접 연결하는 것입니다 (테이블에 열을 추가로 작성하는 대신). 세제 예를 들면 다음과 같습니다.
Col Mean( :count, :softness || :temperature )
이것은 당신이 필요로하는 것을합니까, 아니면 당신이 찾고있는 다른 것입니까?
@ 율리안