입니다. 새해 복 많이 받으시기 바랍니다..타임 스탬프를 기반으로 한 빠른 데이터 모집은 R
내 질문에 오는 :
나는 두 개의 데이터 집합을 가지고있다.
Dataset 1
:
Time Name Value
6/1/2016 9:39 ABCD IS Equity 11.01
6/1/2016 9:44 ABCD IS Equity 11.05
6/1/2016 9:46 ABCD IS Equity 11.01
6/1/2016 9:58 ABCD IS Equity 11.01
6/1/2016 10:10 ABCD IS Equity 11.01
6/1/2016 10:13 ABCD IS Equity 11.01
6/1/2016 10:33 ABCD IS Equity 11.02
6/1/2016 10:42 ABCD IS Equity 11.02
6/1/2016 10:52 ABCD IS Equity 11.02
6/1/2016 10:56 ABCD IS Equity 11.06
6/1/2016 11:14 ABCD IS Equity 11.02
6/1/2016 11:25 ABCD IS Equity 11.03
6/1/2016 11:26 ABCD IS Equity 11.03
6/1/2016 11:29 ABCD IS Equity 11.03
6/1/2016 11:30 ABCD IS Equity 11.03
6/1/2016 11:40 ABCD IS Equity 11.03
6/1/2016 11:40 ABCD IS Equity 11.01
6/1/2016 11:44 ABCD IS Equity 11.01
6/1/2016 12:04 ABCD IS Equity 11.01
및 Dataset 2
:
Time2 Name2 Value2
6/1/2016 9:42 ABCD IS Equity 123
6/1/2016 9:45 ABCD IS Equity 124
6/1/2016 9:45 ABCD IS Equity 125
6/1/2016 10:00 ABCD IS Equity 126
6/1/2016 10:14 ABCD IS Equity 127
6/1/2016 10:14 ABCD IS Equity 128
6/1/2016 10:14 ABCD IS Equity 129
6/1/2016 10:41 ABCD IS Equity 130
6/1/2016 10:45 ABCD IS Equity 131
6/1/2016 10:56 ABCD IS Equity 132
6/1/2016 10:58 ABCD IS Equity 133
6/1/2016 11:26 ABCD IS Equity 134
6/1/2016 11:27 ABCD IS Equity 135
6/1/2016 11:30 ABCD IS Equity 136
6/1/2016 11:32 ABCD IS Equity 137
6/1/2016 11:40 ABCD IS Equity 138
6/1/2016 11:42 ABCD IS Equity 139
6/1/2016 11:45 ABCD IS Equity 140
6/1/2016 12:05 ABCD IS Equity 141
지금, 나는의 각 행에 대해 조건 Dataset2$Time2 > Dataset1$Time
에 따라 Dataset2
의 Value2
에서 값을 채 웁니다 Dataset 1
에서 New
열을 만들려면 Dataset 1
. 열 Value2
에서
Time Name Value New
6/1/2016 9:39 ABCD IS Equity 11.01 123
6/1/2016 9:44 ABCD IS Equity 11.05 124
6/1/2016 9:46 ABCD IS Equity 11.01 126
6/1/2016 9:58 ABCD IS Equity 11.01 126
6/1/2016 10:10 ABCD IS Equity 11.01 127
6/1/2016 10:13 ABCD IS Equity 11.01 127
6/1/2016 10:33 ABCD IS Equity 11.02 130
6/1/2016 10:42 ABCD IS Equity 11.02 131
6/1/2016 10:52 ABCD IS Equity 11.02 132
6/1/2016 10:56 ABCD IS Equity 11.06 133
6/1/2016 11:14 ABCD IS Equity 11.02 134
6/1/2016 11:25 ABCD IS Equity 11.03 134
6/1/2016 11:26 ABCD IS Equity 11.03 135
6/1/2016 11:29 ABCD IS Equity 11.03 136
6/1/2016 11:30 ABCD IS Equity 11.03 137
6/1/2016 11:40 ABCD IS Equity 11.03 139
6/1/2016 11:40 ABCD IS Equity 11.01 139
6/1/2016 11:44 ABCD IS Equity 11.01 140
6/1/2016 12:04 ABCD IS Equity 11.01 141
동일한 값 조건에 일치에 기초 Dataset1
다른 행에 채울 수
아래는 샘플 output
이다.
Soln. 나는 시도했다 :
나는 시도 Dataset2
의 각 행과 일치하는 간단한 for
루프 [1: nrow(Dataset1)]
을 사용. 하지만 상당한 시간이 걸리는 대규모 데이터 세트가 있습니다. 나는 훨씬 더 빠른 방법을 찾고 있는데 - 이것은 for
loop의 사용을 건너 뛸 수있다.
도움이나 제안을 보내 주시면 감사하겠습니다.
우리가 사용할 수있는'data.table' 즉'setDT (DF1 있습니다) [df2, Value : = Value2, on =. (Name, Time2> Time1)] ' – akrun
'Zone'이라는 이름의 또 다른 공통 열이 있다고 해봅시다. 'on =. (Name, Zone, Time2> Time1)' – Zico
예, 할 수 있습니다. – akrun