이 데모에서는 JMP에서 일반적으로 사용되는 일부 플랫폼에서 수행되는 분석을 스크립트로 작성하는 방법을 살펴보겠습니다. 섹션의 저널에서 Concrete Strength and Humidity Data를 클릭하겠습니다. 이것이 이 데모의 모든 예제에 사용할 데이터 세트입니다. 그래서 우리는 콘크리트 혼합물의 유형, 결과 콘크리트 강도 및 콘크리트가 건조되었을 때의 주변 습도를 얻었습니다. 이 데모에서 테이블을 실제로 보지 않을 것이기 때문에 이 부분을 옆으로 옮깁니다. 그리고 코스 저널로 돌아가서 분포 분석 스크립트를 클릭하겠습니다. 따라서 이 미리 작성된 스크립트에서 우리는 데이터 테이블 Concrete에 메시지로 distribution을 보내고 그 결과를 변수 dist에 저장합니다. 이 객체 참조를 저장합니다. 그리고 다시 이것은 분석 레이어 개체 참조가 됩니다. 저는 세 개의 열(콘크리트 유형, 습도 및 강도)을 모두 Y 분석 역할에 배치하고 세 개의 열 모두에 대해 시작하는 동안 동일한 옵션을 요청합니다. 보고서 창이 열려 있지만 모든 열이 이러한 모든 옵션에 응답할 수 있는 것은 아닙니다. 플랫폼을 출시할 때 인수에서 배포까지 몇 가지 사항을 살펴보겠습니다. 스택은 빨간색 삼각형 메뉴의 옵션입니다. 맨 위에 있는 다음 배포에는 히스토그램을 수평으로 변경하면 일반적으로 히스토그램 아래에 표시되는 보고서 테이블의 위치와 정렬 여부를 변경합니다. 히스토그램 자체는 나란히 또는 수직으로 정렬됩니다. 스택은 빨간색 삼각형 메뉴의 옵션입니다. 스크립트에서 부울을 사용하여 이 옵션을 껐다는 것을 알 수 있습니다. 따라서 스크립트는 그렇게 하도록 선택할 수 있습니다. 이는 실제로 사용자가 기본 설정을 변경하여 항상 스택 배포를 유지하는 매우 일반적인 옵션이기 때문입니다. 스크립트의 결과가 기본 방식으로 구성되는 것이 중요한 경우 스택을 해제할 수 있습니다. 또한 히스토그램이 수직임을 지정합니다. 이는 히스토그램 옵션 아래의 각 빨간색 삼각형에 대한 개별 빨간색 삼각형 메뉴에서 찾을 수 있습니다. 여기에서 체크되어 있는 것을 볼 수 있습니다. 그리고 다시 말하지만, 이는 기본값이므로 스크립트는 사용자 기본 설정에 관계없이 JMP의 기본 설정과 동일한 방식으로 프레젠테이션이 표시되도록 하려고 합니다. 이제 스크립트의 다음 줄은 Quantiles가 꺼진 줄입니다. 음, 분위수는 연속 변수에만 적용됩니다. 이러한 하위 메뉴의 콘크리트 유형 옆에 있는 빨간색 삼각형 메뉴를 보면 "분위수"라는 단어를 찾을 수 없습니다. 그러나 습도 또는 강도 옆에 있는 빨간색 삼각형을 보면 표시 옵션에서 Quantiles가 실제로 기본적으로 켜져 있지만 여기에서 Boolean을 사용했기 때문에 이 메뉴에서 선택되지 않은 것을 볼 수 있습니다. 유사하게, 이상치 상자 그림은 일반적으로 연속형 변수에 대해 켜져 있습니다. 그리고 우리는 이상치 상자 플롯이 없도록 부울로 그것을 끕니다. 그런 다음 마지막으로 부울을 괄호로 묶은 일반 분위수 플롯을 요청했습니다. 이는 일반적으로 켜지지 않는 항목이지만 이러한 변수에 대해 요청했습니다. 그리고 다시, 그것은 플랫폼 출시의 일부였으므로 해당 명령에 응답할 수 있는 변수가 그렇게 했습니다. 이제 플랫폼을 시작하고 개체 참조를 변수에 저장하고 배포를 통해 모든 변수와 한 번에 통신하거나 개별 열이나 변수에 메시지를 보낼 수 있습니다. 그리고 나는 그것을 첨자로 한다. 그래서 라인은 우리가 Fit Distribution (Normal)을 보내는 것을 보여줍니다. 그래서 정규 분포를 피팅합니다-- 세 열 모두에. 그리고 물론 콘크리트 유형은 명목상으로 응답할 수 없지만 습도 및 강도는 응답합니다. 그래서 저는 라인을 실행할 것입니다. 그리고 여러분은 우리가 두 연속 분포에 겹쳐진 적합된 정규 분포를 가지고 있다는 것을 알 수 있습니다. 그리고 우리는 또한 적합된 정규 개요 항목을 얻습니다. 이것은 다시 빨간색 삼각형 메뉴의 명령입니다. 분포 맞춤은 명령의 이전 이름입니다. 최신 버전의 JMP에서는 연속 맞춤이라고 하지만 둘 다 여전히 작동합니다. 그리고 제가 주목하고 싶은 한 가지는-- 로그로 돌아가겠습니다. 배포를 시작하기 위해 스크립트를 실행했을 때 플랫폼 이름이 표시되었습니다. 그리고 그것은 내가 분석 레이어 개체 참조를 가지고 있다는 표시입니다. 스크립트에서 dist 위로 마우스를 가져가면 그것이 표시됩니다. 사실 이후에 빨간색 삼각형 메뉴에서 명령을 보냈을 때 "스크립트 가능" 결과를 얻었습니다. 이제 선과 평균에 대한 1표본 검정을 수행할 것입니다. 그리고 빨간색 삼각형 메뉴에서 명령은 단순히 Test Mean입니다. 그러나 내 표본 평균이 다음과 같고 내 표본 평균에 대한 강도가 있는 습도의 경우 두 가지 모두에 대해 동일한 가상 평균을 테스트하는 것이 실제로 의미가 없다는 것은 말이 되지 않습니다. 그래서 실제로 대화식으로 어떻게 생겼는지 보여드리겠습니다. 연속 변수 옆에 있는 빨간색 삼각형으로 이동하여 평균 검정을 선택하면 가설 평균에 대한 값을 입력합니다. 그래서 나는 그것을 취소하고 스크립트 편집기 창으로 돌아갈 것입니다. 그래서 저는 평균이 같음을 테스트하고 있으며 이를 배포 창의 세 번째 열로 보냅니다. 그래서 dist에 숫자를 첨자로 씁니다. 그래서 다음 줄을 실행하겠습니다. 그리고 보고서 창으로 이동하면 평균에 대한 1표본 t-검정이 있습니다. 다른 가상 평균을 사용하여 습도에 대해서도 동일한 작업을 수행하고 아래 첨자 방식이 약간 다를 것입니다. 열 이름을 보고서에서 위치가 아닌 문자열로 사용하겠습니다. 아래 첨자로 사용하겠습니다. 그래서 라인을 실행하고 거기에서 습도에 대한 t-테스트를 얻습니다. 이것은 배포 플랫폼과 빨간색 삼각형 메뉴의 명령을 사용하여 분석 계층을 스크립팅하는 몇 가지 예일 뿐입니다. One-Way 플랫폼으로 가자. 그리고 배포 스크립트와 배포 보고서를 닫고 계속 진행하지만 여전히 구체적인 데이터 테이블을 사용하겠습니다. 따라서 저널에서 일원 분산 분석 스크립트를 클릭하겠습니다. 그리고 이것은 시작하기에 다소 광범위했습니다. 우리는 한 줄에 전체 출시를 가지고 있습니다. 그래서 우리는 데이터 테이블 Concrete로 메시지를 보내고 있습니다. 메시지는 Y 역할의 Strength, X 역할의 Concrete Type으로 단방향 플랫폼 출시이며 우리는 해당 부울 인수로 다이아몬드가 켜질 것을 요청합니다. 그리고 분석 계층 객체 참조를 ow에 저장합니다. 그래서 저는 line을 실행할 것입니다. 그래서 우리는 출력 창과 물론 플랫폼의 이름을 얻습니다. 그리고 이것은 마우스를 가져가면 ow에 저장됩니다. 저 녹색은 다이아몬드를 의미합니다. 단방향 분석 옆에 있는 빨간색 삼각형으로 이동하면 표시 옵션, 평균 다이아몬드에서 찾을 수 있습니다. 그리고 기본적으로 분산 분석을 아직 수행하지 않았다면 이 기능이 켜져 있지 않습니다. 하지만 내 스크립트는 그들을 켤 수 있습니다. 이제 이 스크립트 창이 그렇게 넓을 필요가 없습니다. 여기에서 다른 몇 가지 예를 살펴보겠습니다. 여기 빨간색 삼각형 메뉴에는 알파 레벨을 설정하는 옵션이 있습니다. 그리고 세 가지 표준 값이 있습니다. 그리고 선택적으로 선택할 수 있는 기타가 있습니다. 그래서 이 예에서는 Set Alpha Level이라는 메시지를 보냅니다. 그리고 저는 그것을 로 설정하겠습니다. 그리고 이 녹색 평균 다이아몬드의 높이는 평균에 대한 신뢰 구간, 즉 평균에 대한 마이너스 알파 신뢰 구간입니다. 따라서 기본 알파는 So입니다. 알파 수준을 다음으로 설정하면 신뢰 구간이 됩니다. 그래서 그들은 키가 커질 것입니다. 그래서 나는 줄을 서겠습니다. 그래서 우리는 그 평균 다이아몬드의 높이가 변하는 것을 봅니다. 빨간색 삼각형으로 가면 One-Way Platform에 요청할 수 있는 또 다른 보고서가 Quantiles 보고서입니다. 그래서 저는 줄에서 켜고 있습니다. 이 메뉴의 명령에는 하위 메뉴가 없습니다. 괄호 안에 부울 인수를 사용할 수 있습니다. 또는 ANOVA에 대해 줄에서 볼 수 있듯이 동의어입니다 수단을 사용하면 인수를 전혀 받을 필요가 없지만 하위 메뉴가 있는 메뉴 항목은 해당 하위 메뉴 항목을 인수로 사용합니다. 그리고 부울 인수가 필수는 아니지만 왜 사용하고 싶은지 잠시 후에 이야기하겠습니다. 하지만 지금은 Quantiles 보고서 테이블을 제공하고 플롯에 상자 플롯을 넣는 라인을 실행하겠습니다. 그리고 이제 ANOVA와 평균은 동의어임을 기억하십시오. 따라서 이것은 빨간색 삼각형 메뉴의 또 다른 명령입니다. 그러나 다시 부울 인수에 괄호를 넣지 않았습니다. 라인을 실행하면 어떻게 됩니까? 그리고 분산 분석을 얻습니다. 다시 말하지만, 로그에서 상호 작용할 때마다 해당 플랫폼 이름이 표시된다는 점을 지적해야 합니다. 이제 라인을 다시 실행하면 어떻게 됩니까? 로그에 메시지가 표시됩니다. 빈 부울 인수가 있는 메시지는 이미 활성화된 옵션을 활성화했습니다. 해당 옵션은 활성화된 상태로 유지됩니다. 그리고 JMP의 이전 버전에서는 부울 인수를 제공하지 않고도 해당 행을 계속해서 실행하여 실제로 앞뒤로 토글했을 것이라고 언급하고 있습니다. 따라서 이전 버전으로 작성된 스크립트를 본 적이 있다면 알 수 있습니다. 그러나 우리는 모범 사례로 항상 해당 부울 인수를 사용하는 것이 좋습니다. 그러면 스크립트에서 이 옵션을 끄지 않고 켜고 있음을 분명히 알 수 있습니다. 그런 다음 제거하고 싶을 때 제거하려면 Boolean이 있는 라인을 실행합니다. 사실, Quantiles 보고서를 끄기 위해 그렇게 합시다. 그래서 줄에서 로 교체하고 한 줄만 실행하겠습니다. 이제 Quantiles 옵션이 제거되었습니다. 마지막으로 이전 데모에서 메시지를 개체에 계단식으로 연결할 수 있음을 보았습니다. 그러나 메시지 목록을 개체에 보낼 수도 있습니다. 스크립트 편집기 창에 새 줄을 표시하겠습니다. 그리고 내 분석 계층 개체 참조를 저장하는 변수 ow가 메시지를 수신합니다. 그리고 그것은 목록이 될 것입니다. 불균등 분산. 그리고 그 Boolean 인수를 사용하여 켜겠습니다. 빨간 삼각형 메뉴로 넘어가겠습니다. 따라서 불균등 분산이 있습니다. 그것은 우리에게 이분산성 테스트를 제공합니다. 그리고 그 뒤에 쉼표를 넣고 불균등 분산에 대한 부울 인수를 닫는 괄호를 사용합니다. 알파 레벨을 기본값으로 되돌리겠습니다. 그래서 set alpha level을 입력한 다음 괄호 안에 입력하겠습니다. 작업을 마치기 전에 이 코드 줄 밖으로 커서를 옮겼기 때문에 괄호를 닫아야 합니다. 타자. 그런 다음 목록 위로 화살표를 이동하여 전체 줄을 볼 수 있도록 이동하고 세미콜론을 입력합니다. 숫자 키패드의 Enter 키를 사용하여 이 한 줄만 다시 실행할 수 있습니다. 이제 창 맨 아래에는 이분산 테스트가 있습니다. 그리고 상단에서 알파 수준을 이제 신뢰 구간으로 복원한 것을 볼 수 있습니다. 그리고 작은 파란색 선은 이분산 테스트에서 나온 것입니다. 따라서 단방향 플랫폼에서 빨간색 삼각형 명령을 사용하여 스크립팅하는 몇 가지 예가 있습니다. 이 보고서 창을 닫고 변경 사항을 저장하지 않고 이 스크립트를 닫겠습니다. 그리고 저널에서 이변량 스크립트를 클릭하겠습니다. 그리고 다시, 우리는 데이터 테이블 Concrete로 작업하고 있습니다. 따라서 이 분석 레이어 객체 참조를 저장하는 변수는 biv입니다. 그리고 Y 역할의 Strength, X 역할의 Humidity를 사용하여 Bivariate를 해당 데이터 테이블로 보냈습니다. 그리고 플랫폼 출시의 일부로 빨간색 삼각형 메뉴에서 가져온 Fit 라인을 요청합니다. 다시 한 번, 로그에 플랫폼 이름이 표시됩니다. 그리고 biv 위로 마우스를 가져가면 그것이 표시됩니다. 그래서 우리는 회귀선에 맞는 습도에 대한 강도를 플로팅했습니다. 그리고 다른 메시지 중 일부는-- 그래서 제가 그 빨간 삼각형으로 가면, 다시 Fit Line이 있습니다. 사실 이후에 이러한 다른 명령을 보낼 수 있습니다. 사실 출시 후 Fit Line을 보낼 수도 있었습니다. 하지만 저는 Fit Polynomial을 사용할 것입니다. 그리고 하위 메뉴가 있는 것을 볼 수 있습니다. 따라서 우리는 이러한 인수를 사용해야 합니다. 그리고 라인에서 나는 그 메시지를 biv, Fit Polynomial로 보내므로 2차 또는 2차 다항식입니다. 내가 그 라인을 실행합니다. 그래서 그것은 나에게 두 번째 적합성을 제공합니다. 다시 위로 스크롤하면 두 번째 맞춤이 그래프에 겹쳐진 것을 볼 수 있습니다. 그리고 여기에는 두 개의 빨간색 삼각형 메뉴가 있습니다. 하나는 선형 맞춤용이고 다른 하나는 다항식 맞춤용입니다. 그리고 창 상단에 있는 이변량 맞춤 수준의 명령과 다른 자체 명령이 있습니다. 예를 들어, 선형 맞춤에서 신뢰 대역의 음영 맞춤을 원할 경우(명령은 Confid Shaded Fit입니다) 실제로 약간 특별한 작업을 수행해야 합니다. 선형 적합과 먼저 통신해야 합니다. 그런 다음 해당 메시지를 수신한 선형 피팅의 결과가 이변량 피팅에 메시지로 전송됩니다. 여기에서 스크립트 방식으로 -- 우리는 첫 번째 것을 그냥 곡선이라고 부릅니다. 우리는 아래 첨자를 사용합니다. Confid Shaded fit이라는 메시지를 받습니다. 괄호 안에 모은 것입니다. 그리고 그것이 biv가 받은 메시지입니다. 이 괄호가 없으면 biv는 Curve를 이해하려고 시도할 것입니다. 물론 여기의 어떤 하위 메뉴나 주 메뉴에서도 Curve를 찾을 수 없습니다. 그리고 여기서 찾을 수 없는 Confid Shaded Fit이 있습니다. 이는 보고서에서 선형 맞춤이라는 레이블이 지정된 이 곡선과 연결됩니다. 따라서 모든 라인을 실행하면 회귀 라인에 음영 처리된 신뢰 밴드가 생깁니다. 마찬가지로 이 빨간색 삼각형 메뉴 중 하나에서 다항식 맞춤 옆에 있는 메뉴를 클릭하여 선 색상을 변경할 수 있습니다. 기본값은 첫 번째 맞춤의 경우 빨간색, 두 번째 맞춤의 경우 녹색 등입니다. 그래서 파란색으로 바꾸고 싶다고 가정해 봅시다. 다시 말하지만, 나는 그것을 두 번째 곡선으로 보내고 그것을 괄호로 묶을 수 있습니다. 그리고 그것이 Bivariate로 전달되는 메시지입니다. 선을 실행하겠습니다. 그러면 선 색상이 변경된 것을 볼 수 있습니다. 자, 이것도 뭔가요. 이것을 스크립팅하는 방법을 알고 싶었고 플랫폼이 시작된 후 플랫폼에 메시지로 보낼 필요가 없다면(런칭의 일부로 포함하고 싶다면) 이 작업을 대화식으로 수행한 다음 다음을 수행할 수 있습니다. JMP는 해당 스크립트를 스크립트 창에 저장하고 그런 식으로 작업합니다. 그렇게 하면 Confid Shaded Fit이 Fit Line에 대한 인수가 됩니다. 또한 다항식을 실행 인수로 맞출 수도 있습니다. 그리고 선 색상은 그것에 대한 논쟁이 될 것입니다. 여기서 마지막으로 살펴보고 싶은 것은 이변량 플랫폼이지만 By 역할에 변수가 있으므로 해당 By 변수의 각 수준에 대해 별도의 이변량 개체를 얻을 수 있습니다. 그래서 스크립트 창을 닫겠습니다. 이변량 보고서를 닫겠습니다. 그리고 코스 저널에서 Grouped Bivariate Script를 클릭하겠습니다. 따라서 이전 스크립트에서와 같이 Y 역할에 Strength가 있고 습도 역할에 X가 있는 변수 biv를 저장하는 Concrete 데이터 테이블에 메시지를 전송하여 Bivariate 플랫폼을 시작합니다. 하지만 지금은 그 By 분석 역할에 구체적인 유형을 추가하고 있습니다. 이제 이 보고서 창에 6개의 이변량 개체가 있습니다. 그리고 로그에서 볼 수 있는 것은 6개의 요소가 있는 목록이 할당되었다는 것입니다. 글쎄, 그 목록은 어떻게 생겼어? 스크립트 편집기 창으로 돌아가서 biv 위에 마우스를 올려놓겠습니다. 그리고 그것은 6개의 이변량 개체의 목록입니다. 그래서 biv에 메시지를 보낼 수 있습니다. 그리고 내가 Fit Line을 보낼 때 인라인처럼 모든 개체가 응답합니다. 로그에 표시되는 것은 응답한 모든 개체의 목록입니다. 그리고 창을 보면 -- Ctrl 키를 누른 상태에서 첫 번째 선형 맞춤 옆에 있는 윤곽선 공개 버튼을 클릭하여 이러한 모든 선형 맞춤을 실제로 축소할 것입니다. Ctrl 키를 누르고 있기 때문에 창에 있는 모든 보고서에 브로드캐스트되므로 더 쉽게 스크롤할 수 있습니다. Consolidated Reinforced, Consolidated Standard, EZMix Reinforced, EZMix Standard 등에 대한 이변량 적합성이 있음을 알 수 있습니다. 이제 모든 이변량 개체가 아닌 일부 개체만 대상으로 지정하려면 어떻게 해야 합니까? 글쎄요, 저는 첨자를 사용합니다. 그리고 개별 첨자를 사용하여 하나만 타겟팅할 수 있습니다. 그러나 하나 이상의 객체가 응답하도록 하려는 두 가지 예를 살펴보겠습니다. 따라서 아래 첨자에 대해 응답하려는 개체의 인덱스 값 목록을 제공합니다. 첫 번째 및 세 번째 이변량 개체가 해당 2차 모델인 차수의 다항식에 맞도록 하고 싶습니다. 그래서 나는 line을 실행합니다. 그리고 다시 Ctrl 키를 사용하여 다항식 맞춤 개요 항목을 축소하여 스크롤을 조금 더 쉽게 만듭니다. 따라서 첫 번째 객체인 첫 번째 이변량 객체는 다항식 피팅을 갖습니다. 두 번째는 그렇지 않습니다. 세 번째는 합니다. 그리고 물론 네 번째, 다섯 번째, 여섯 번째는 그렇지 않습니다. 그리고 마지막 예에서, 나는 두 개의 이중 콜론의 중위 연산자인 그 연산자를 사용하여 인덱스 함수를 다시 사용하고 있습니다. 따라서 이것은 첫 번째 숫자에서 두 번째 숫자까지 증분으로 계산됩니다. So this will go and Fit Spline은 Flexible 아래의 빨간색 삼각형 메뉴에 있는 옵션입니다. 그리고 그것에 대해 제공할 수 있는 모든 다양한 주장을 볼 수 있습니다. 그래서 우리는 이변량에 대해 상당히 유연한 스플라인과 싸우고 있습니다. 그래서 저는 라인을 실행할 것입니다. 그러나 두 개체에 메시지를 보내면 두 개체가 포함된 목록이 표시됩니다. 그리고 바로 지금 세 개의 객체에 메시지를 보낼 때 세 객체의 목록을 얻습니다. 그리고 우리가 살펴보면 첫 번째와 두 번째 이변량 피팅이 스플라인을 얻지 못했다는 것을 알 수 있습니다. 세 번째가 그랬습니다. 네 번째는 했습니다. 다섯 번째가 그랬습니다. 그리고 여섯 번째는 그렇지 않았습니다. 따라서 By 역할을 사용하고 해당 By 변수의 각 수준에 대해 별도의 분석, 별도의 개체를 가질 수 있습니다. 그리고 나서 우리는 그들 모두와 함께 또는 개별적으로 통신할 수 있습니다. 따라서 이는 일반적으로 사용되는 일부 JMP 플랫폼에서 분석 계층을 시작한 다음 상호 작용하는 몇 가지 예일 뿐입니다.