
따라서 이 데모에서는 특정 행을 선택하고 테이블 메뉴에서 대화형으로 찾을 수 있는 하위 집합 명령을 사용하여 데이터 테이블의 하위 집합을 가져오는 방법을 살펴보겠습니다. 코스 저널 섹션에서 스키장 온도 데이터를 클릭하겠습니다. 이 데이터 테이블은 넓지만 비교적 짧습니다. 여기서는 기상 관측소가 있는 스키 리조트가 있고 매시간 온도를 기록하여 파일에 저장합니다. 모든 관측값 파일에는 시간별 온도 판독값의 날짜와 시간이 포함됩니다. 오전에 통계가 표시되므로 오전의 온도도 마찬가지입니다. 이제 기온이 영하 섭씨 이하로 떨어지면 눈이 내리기에는 너무 추울 수 있으므로 제설기를 켤 계획이라고 가정해 보겠습니다. 따라서 기록에서 제설기를 사용했을 날짜를 찾기 위해 과거 데이터 기록을 살펴보려고 합니다. 아마도 다른 기계를 추가하거나 기존 기계를 교체하는 것을 정당화하려고 할 것입니다. 여기에는 몇 가지 사항이 있습니다. 하나는 이 온도가 섭씨가 아닌 화씨로 기록되었다는 것입니다. 둘째, 데이터의 작은 부분집합만 사용하고 있습니다. 날짜별로 정리되어 있지만, 이는 대규모 데이터 집합을 다룰 때 스크립트를 개발하기 위한 대표적인 관측치 샘플을 확보하는 모범 사례 중 하나입니다. 이렇게 하면 더 작은 부분집합에 대해 스크립트를 개발하고 테스트할 수 있습니다. 다시 말해, 데이터에서 발견될 수 있는 모든 문제점을 나타낼 수 있기를 바랍니다. 그런 다음 전체 데이터 집합에 대해 테스트할 수 있습니다. 따라서 이 예에서는 대표성을 갖기를 바라며, 단 1주일치의 데이터만 사용했습니다. 또 다른 점은 화씨 온도가 기록되었지만, 기준 온도는 섭씨 영하입니다. 따라서 섭씨 영하 온도를 화씨로 변환할 수는 있지만, 벡터화된 연산을 사용하는 개념을 다시 한번 강조하고 모든 화씨 온도를 행렬로 추출하여 섭씨 온도로 변환하겠습니다. 따라서 저널에는 Isolate Snow-Making Days Script라는 미리 작성된 스크립트가 있습니다.그리고 한 번에 한 부분씩 실행하려고 합니다.그리고 이 데모에서는 로그 창으로 앞뒤로 이동하는 대신 내장된 로그 옵션을 실제로 사용하려고 합니다.그러므로 스크립트 편집기 창에서 마우스 오른쪽 버튼을 클릭하고 내장된 로그 표시를 선택합니다.그리고 창의 편집기 부분에서 전체 스크립트를 계속 볼 수 있도록 크기를 조정하겠습니다.그러므로 line을 선택하고 실행하겠습니다.그러면 현재 데이터 테이블, Ski Lodge Temperature 데이터 테이블에 대한 참조를 가져와서 dt에 저장합니다.그런 다음 get 메시지를 matrix로 보내고 그것을 tempF 변수에 저장합니다.그러므로 line을 실행하겠습니다.그리고 더 큰 행렬의 경우 로그에 행렬을 표시하는 대신 행렬의 차원과 할당되었다는 표시만 가져옵니다.이제 7개의 행과 열이라는 점에 유의하세요.그리고 데이터 테이블로 돌아가면 이 데이터 테이블에 열이 있습니다. 그렇다면 왜 열만 추출했을까요? 날짜 열을 보면 명목 데이터라는 것을 알 수 있습니다. 이는 숫자 데이터가 아닌 문자 데이터로 처리되고 있음을 시사합니다. 열 정보를 확인할 수도 있지만, 열을 조금 더 넓게 만들고 값이 왼쪽 정렬되어 있다는 점을 확인하면 이를 확인할 수 있습니다. 이는 JMP가 문자 데이터를 처리하는 방식입니다. 따라서 데이터 테이블에 get as matrix를 전송했을 때, 해당 문자 열은 무시되고 숫자 열만 추출됩니다. 그런 다음 line은 tempF 변수의 각 요소, 즉 거기에 저장된 행렬을 섭씨 온도로 변환하여 tempC에 저장합니다. 로그에서 다시 같은 메시지가 표시되지만, tempf 또는 tempc 위에 마우스를 올리면 값을 확인할 수 있습니다. 다음으로 tempC의 행 수를 계산하려고 합니다. 루프 외부에서 행이나 열을 계산하는 것이 가장 좋은 방법이라고 말씀드렸습니다. 따라서 tempC 행렬의 행 수를 계산하여 nr 변수에 저장합니다. 그래서 line을 실행하면 물론 7개가 있습니다. 제가 하고 싶은 또 다른 일은 두 개의 행렬을 만드는 것입니다. 하나는 주어진 날의 최저 기온을 제공하는 minTemp이고, 다른 하나는 제설기를 켜야 했는지 여부를 나타내는 Machine입니다. 그리고 둘 다 특정 행 수, 1열, 그리고 누락된 값으로 시작합니다. 그래서 line에서 assign 함수를 계단식으로 연결합니다. 저는 J 함수를 사용하여 특정 행 수를 가진 행렬을 만듭니다. 여기에 tempC의 행 수, 앞서 언급한 단일 열, 그리고 누락된 값이 있습니다. 그리고 Machine, minTemp 및 다른 변수가 같은 값으로 시작한다면 line에서 볼 수 있듯이 계단식 방식으로 간단히 할당할 수 있습니다. 그래서 그것을 실행하고 로그에서 Machine 또는 minTemp 위에 마우스를 올리면 누락된 값의 열만 표시됩니다. 그런 다음 루프를 실행하고 카운터로 시작하여 r이 nr에 저장된 숫자보다 작거나 같은지 테스트한 다음 for 루프의 본문은 obs라는 변수를 사용하는데, 이 경우 tempC의 첫 번째 행과 모든 열을 사용합니다. 해당 행에서 최소값을 찾아 minTemp의 r번째 또는 첫 번째 위치에 넣습니다. 그런 다음 해당 위치의 minTemp에 넣은 값을 minus와 비교하고 이 비교가 참이면 값이 minus보다 작으면 부울 값 1을 반환하고 이를 Machine의 첫 번째 위치에 넣습니다. 반면 거짓이면 값이 minus보다 크거나 같으면 Machine에 넣습니다. 그런 다음 업데이트하고 다시 테스트하면 obs가 데이터 테이블의 다음 행으로 덮어쓰여집니다. minTemp와 Machine을 모두 채울 때까지 같은 단계를 반복합니다. 따라서 줄을 실행하고 minTemp 위에 마우스를 올려놓을 수 있습니다. 그리고 다시 호버 도움말에 표시되고, 아래에서 볼 수 있는 스크립트 입력 창 하단에도 표시됩니다.그리고 Machine 위에 호버하면 그런 것들이 있습니다.이제 마지막 몇 단계에서 이러한 메시지를 계단식으로 전달할 수 있었지만 데모 목적으로 분리하겠습니다.따라서 dt에 새 열 메시지를 보낼 것입니다.minTemp라고 불리고 값은 방금 for 루프에서 얻은 값입니다.따라서 줄을 실행할 것입니다.그리고 배경에서 새 열이 만들어진 것을 볼 수 있습니다.예를 들어 고정된 소수 자릿수를 갖도록 새 열에 형식 인수를 추가할 수 있습니다.이것은 또한 해당 열을 다시 작업할 계획이라면 변수에 저장할 수 있는 열 개체 참조를 반환했습니다.그런 다음 다음 코드는 새 열에 dt에 대한 메시지를 설정합니다.이것은 Make Snow라고 불립니다. 그리고 값은 해당 머신 열 벡터에서 오고, 여기서 스크립트는 값 레이블을 사용하도록 요청합니다.데이터 값에 대한 레이블이 있으면 아니요이고 데이터 값에 대한 레이블이 있으면 예입니다.그리고 물론 부울 레이블을 사용하여 값 레이블 사용 옵션을 켭니다.그러니 줄을 실행해 보겠습니다.다시 한 번, 열 개체의 인스턴스를 만들고 있습니다.그리고 테이블로 돌아가서 스크롤하고 싶습니다.그러니까 지금 열에 표시되는 것은 아니요와 예입니다.열 패널에서 아래로 스크롤하면 Make Snow가 연속적임을 볼 수 있습니다.즉, 실제 데이터 값에 대한 숫자 데이터입니다.그리고 값 레이블을 사용할 때 또 다른 것은 열 패널의 별표도 속성이 있음을 나타내며, 그것을 클릭하면 이것이 표시됩니다.값 레이블을 사용할 때 데이터 테이블의 셀 위에 마우스를 올리면 실제 데이터 값이 표시됩니다. 하지만 지금 그래프나 어떤 종류의 분석을 만든다면, 이 레이블들이 켜져 있는 한 이 레이블들을 사용할 것입니다. 그리고 스크립트로 돌아가서, 다시 한번 이 메시지들을 데이터 테이블에 계단식으로 보낼 수 있지만, 데모 목적으로 이 단계들에서 그것들을 할 것입니다. 저는 데이터 테이블에 select where를 보내고, Make Snow 열의 값이 같은 행을 찾습니다. 그래서 저는 line을 실행할 것입니다. 그리고 배경에 4개의 행이 선택된 것을 볼 수 있습니다. 그리고 마지막으로 저는 subsect 명령을 데이터 테이블에 보냅니다. 저는 출력 테이블 이름을 제공하고 열을 지정합니다. 그리고 4개의 행을 선택했기 때문에 어떤 행을 원하는지 말할 필요가 없습니다. 그 행들은 자동으로 subset 테이블에 끌어오게 됩니다. 그래서 저는 lines를 실행할 것입니다. 그리고 이제 우리는 그 subset 테이블을 가지고 있습니다. 이 시점에서, 다시 한번 우리는 최소 온도 데이터의 형식을 선택할 수 있습니다. 소스 스크립트는 하위 집합을 반영합니다. 그리고 실제로 그것을 잠깐 살펴보겠습니다. 소스를 마우스 오른쪽 버튼으로 클릭하고 편집을 선택하면 됩니다. 테이블 메뉴에서 명령을 사용하여 새 스크립트를 만들 때마다 대화형으로 하든 스크립트를 사용하든 소스 스크립트를 가져옵니다.그러면 subset이 사용된 테이블 명령이라는 것만 표시됩니다.subset을 사용할 때 주의해야 할 점은 이 행이 왜 뽑혔는지 모르기 때문에 해당 행을 하드 코딩한다는 것입니다.JMP가 작성하는 스크립트에는 이러한 선택에 대한 근거가 없습니다.또한 JMP는 선택한 행에 인수로 a를 넣어 선택한 행만 가져오는 기본 경향을 재정의합니다.따라서 스크립트를 캡처하여 작성 중인 다른 스크립트에 적용하려면 표시된 두 행을 제거하고 subset 메시지를 보내기 전에 스크립트에 필요한 논리적 선택을 해야 합니다.그러므로 해당 스크립트에서 취소하겠습니다.이것은 테이블 메뉴에서 명령을 사용하는 한 가지 예이지만 데이터를 행렬로 작업하는 것도 다시 한 번 보여줍니다.