타임 스탬프로 데이터 병합서로 다른 두 데이터 세트를 병합해야 합니다. 첫 번째 A는 2분마다 데이터를 수집합니다. 두 번째 B는 측정값이 임계값을 넘을 때만 데이터를 수집합니다.
샘플
2017-01-21:00:02:00, 1, 2, 3, 4
2017-01-21:00:04:00, 2, 3, 4, 5
2017-01-21:00:06:00, 3, 4, 5, 6
...
B-샘플
2017-01-21:00:02:05, 4500
2017-01-21:00:05:14, 5700
...
B 데이터를 가장 가까운 A 행에 넣는 것으로 충분합니다. 예를 들어 2017-01-21:00:05:14의 B-데이터는 A-row=2017-01-21:00:06:00에 배치될 수 있습니다.
A에는 약 170,000개의 행이 있습니다. B에 약 4,000개의 행이 있습니다.
감사해요
Re: 타임 스탬프로 데이터 병합정말 감사합니다 txnelson! 나는 그것을 시험해 볼 것이다.
-지저우
Re: 타임 스탬프로 데이터 병합다음은 원하는 것을 제공할 것으로 믿는 스크립트의 수정입니다.지금은 샘플 데이터 테이블을 제공하지 않았기 때문에 완전히 테스트되지 않았지만 실험 번호를 입력하는 변수가 "실험"이라고 하면 작동해야 한다고 생각합니다.
Names Default To Here( 1 );
Clear Symbols();
list_tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( list_tables, Data Table( i ) << get name )
); //sets up names of data tables to pick from
dt1 = Data Table( list_tables[1] );
dt2 = Data Table( list_tables[2] ); //Reasonable Starting point
win_tableselect = New Window( "Select Tables",
<<MODAL></MODAL>Re: 타임 스탬프로 데이터 병합두 개의 서로 다른 변수를 일치시켜 두 개의 데이터 테이블을 조인할 수 있도록 이 JMP 스크립트를 어떻게 수정할 수 있습니까?
예: 아래 데이터 세트에서 실험 번호로 일치시킨 다음 타임스탬프의 로컬 최소값으로 일치시켜 데이터 테이블 2의 값이 데이터 테이블 1의 한 행에 있도록 데이터 테이블 1의 값을 결합하고 싶습니다. 올바른 실험 번호가 있는 데이터 표 1의 가장 가까운 타임스탬프.
샘플
실험 1, 2017-01-21:00:02:00, 1, 2, 3, 4
실험 1, 2017-01-21:00:04:00, 2, 3, 4, 5
실험 2, 2017-01-21:00:06:00, 3, 4, 5, 6
...
B-샘플
실험 1, 2017-01-21:00:02:05, 4500
실험 2, 2017-01-21:00:05:14, 5700
어떤 도움이라도 도움이 될 것입니다!
감사해요
Re: 타임 스탬프로 데이터 병합짐,
정말 고마워. 이제 준비가 다 된 것 같습니다.
Re: 타임 스탬프로 데이터 병합참조된 스크립트에는 최신 버전의 JMP에서 작동하지 않는 몇 가지 항목이 있었습니다.나는 그것들을 재작업했고 이것을 함수 호출로 실행하기 위한 요구 사항을 제거했습니다.따라서 2개의 데이터 테이블을 열고 아래 스크립트를 실행하기만 하면 됩니다.나는 당신의 데이터에 대해 그것을 실행했고 잘 작동했습니다.결과가 정확히 원하는 것인지 확신할 수 없지만 작업할 수 있는 데이터 테이블을 제공합니다.
Names Default To Here( 1 );
Clear Symbols();
list_tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( list_tables, Data Table( i ) << get name )
); //sets up names of data tables to pick from
dt1 = Data Table( list_tables[1] );
dt2 = Data Table( list_tables[2] ); //Reasonable Starting point
win_tableselect = New Window( "Select Tables",
<<MODAL></MODAL>Re: 타임 스탬프로 데이터 병합사용 중인 파일의 하위 집합 첨부
Re: 타임 스탬프로 데이터 병합빠른 답변 감사합니다.
각 테이블에 "datetime-in-seconds" 열을 넣어 모든 데이터 포인트에 타임스탬프가 있습니다.
스크립트를 실행하면 각 테이블에서 열을 선택하라는 메시지가 표시됩니다. 각 테이블에서 "datetime-in-seconds" 열을 선택하면 됩니다.
최종 결과는 단순히 오름차순 정수 1,2,3,..인 "Loc Min"이라는 dt2의 추가 열입니다.
기능이 실패했습니까, 아니면 사용 방법에 대해 뭔가 빠졌습니까?
Re: 타임 스탬프로 데이터 병합https://community.jmp.com/t5/Discussions/Join-Question-timestamp-range-kind-sorta/mp/20828
이것은 그것을 하거나 적어도 당신을 올바른 길로 인도할 것입니다. 그리고 그것은 어리석게 빠릅니다.