특정 순간에 두 데이터 세트 간의 차이를 계산하고 싶습니다. 문제는 두 데이터 세트의 "타임스탬프"가 다르다는 것입니다. 예를 들어 다음 데이터 세트를 고려하십시오.
time-1 state-1 time-2 state-2
6.164012 1 6.164015 1
6.290051 2 6.290055 2
6.454675 3 6.454678 3
7.006175 4 7.006178 4
7.080418 5 7.016555 5
7.193570 6 7.016595 4
7.351850 7 7.016595 3
7.465638 8 7.016595 2
7.492480 9 7.080421 3
7.524426 10 7.193572 4
8.006629 11 7.203975 5
0.000001초마다 상태 1과 상태 2의 차이를 계산하는 것만으로도 충분합니다(무차별 대입). 이 문제를 해결하는 방법을 아는 사람이 있나요?
편집: 내 질문을 명확히 하기 위해: 첫 번째 데이터세트에는 타임스탬프(시간-1)와 해당 값(상태-1)이 포함되어 있습니다. 두 번째 데이터세트에는 타임스탬프(시간-2)와 해당 값(상태-1) 상태-2도 포함되어 있습니다. 나는 매 순간의 "상태" 변수를 비교하여 둘 사이의 가장 큰 차이를 찾고 싶습니다. 그러나 두 데이터세트 간의 타임스탬프가 동기화되지 않았기 때문에 단순히 행 1과 행 1 등을 비교할 수는 없습니다. 데이터세트는 다음과 같이 읽을 수 있습니다. 데이터세트 1에는 6.164012초 시점에 1개의 상태가 있고 6.290051초 후에 2개의 상태가 있습니다. . 데이터 세트 2에는 6.164015초 후 1개의 상태가 있고 6.290055초 후 2개의 상태가 있습니다.
편집 2: 두 데이터 세트를 모두 단계 함수로 생각할 수 있습니다(x축은 시간, y축은 상태 변수). 그러면 다음과 같이 끝납니다.
^
| +---------+
| | | +---+
| +--+ +---+ | | |
| | | | +-+ + ... f1
|--------+ +-------- ... f2
+------------------------------->
f1과 f2(y_1 - y_2)의 차이가 어느 시점(x 값)에 피크인지 알고 싶습니다. 이 경우에는 "함수"가 없지만 동일한 실험에 속하는 두 개의 데이터 세트가 서로 다른 매개변수를 사용하여 실행되고 있습니다.
답변1
귀하의 질문은 명확하지 않습니다. 파일의 두 번째 필드와 네 번째 필드를 비교하려는 경우 다음을 수행하세요.
awk '{print $2-$4}' file.txt
이것이 귀하가 원하는 것이 아닌 것 같습니다. 그렇다면 더 나은 도움을 드릴 수 있도록 더 많은 정보로 질문을 업데이트하십시오.