제한하는 방법에 대한 질문이 있는 일련의 게시물이 있습니다. 열 ... 집계 특정 하위 집합에 대한 기능.
https://community.jmp.com/t5/Discussions/Compute-Column-Mean-while-restricting-observations-used/mp...
https://community.jmp.com/t5/Discussions/JMP10-Col-Max-and-Col-Min-functions-returned-the-data-from/...
https://community.jmp.com/t5/Discussions/Col-Functions-and-Row-States/td-p/351705
https://community.jmp.com/t5/Discussions/How-do-I-use-the-Col-Maximum-Formula-with-a-quot-where-quot/mp/34840
https://community.jmp.com/t5/Discussions/Col-Functions-and-Row-States/mp/351705
https://community.jmp.com/t5/Discussions/Exclude-data-in-formula/td-p/512366
적용 사례:
- 들어오지 못하게 하다 제외된 집계의 행:
Col Max(if(not(excluded()), :weight,.),: sex)
또는 더 짧습니다(제외된 행에 값이 필요하지 않은 경우).
Col Max(:weight, :sex, :excluded())
- 참조 데이터 세트로 일부 데이터를 벤치마킹하십시오(국가 A는 이것 게시하다)
:data / Col Maximum(if(:country="A", :data,.))
위의 예에서 볼 수 있듯이 쉬운 솔루션은 만약에 내부의 진술 콜 xyz 응집:
col Mean( if(:sex=="M", :weight,.), :age)
col Mean( if(not(excluded()), :weight,.), :age)
문제:
접근 방식이 매우 느립니다. 만약에 -조건에는 문자열 비교:
https://community.jmp.com/t5/Discussions/How-do-I-use-the-Col-Maximum-Formula-with-a-quot-where-quot/mp/578576/highlight/true#M78599
그런 다음 시간은 행 수에 따라 2차적으로 조정되며 1000개 항목에 불과한 작은 데이터 세트의 경우에도 계산에 소요됩니다. 초 .
수백만 개의 항목이 있는 데이터 세트의 경우 개월 (!!!) - 그러나 시간 초과로 중지되고 오류 메시지가 나타납니다. 좋지 않아!
내 소원:
버그 수정
더 좋은 점:
추가 제공 어디 옵션 콜 xyz 집계
- 타이밍 문제를 자동으로 수정합니다. 첫 번째 데이터 세트를 제한한 다음 집계를 적용합니다(멋진 "col..." 속도 향상에 버그가 있는 경우에도 --> 훨씬 더 빠름).
- 하위 집합 정의를 더 쉽게 만들고
(*) 대신 다음이 필요합니다.
col Mean(:weight, :age, where(:sex=="M"))
col Mean(:weight, :age, where(not(excluded())))
타이밍 예제, 복사 https://community.jmp.com/t5/Discussions/How-do-I-use-the-Col-Maximum-Formula-with-a-quot-where-quot/mp/578576/highlight/true#M78599
