Wir wünschen allen ein frohes neues Jahr.Schnelle Datenpopulation basierend auf dem Zeitstempel in R
kommend zu meiner Frage:
Ich habe zwei Datensätze.
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
und 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
Nun möchte ich eine New
Spalte in Dataset 1
schaffen, die Werte von Value2
von Dataset2
basierend auf Bedingung Dataset2$Time2 > Dataset1$Time
für jede Zeile von bevöl Dataset 1
.
Unten ist die Probe output
:
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
gleicher Wert aus Spalte Value2
in verschiedenen Reihen von Dataset1
auf passende Bedingung basierend bevölkern können.
Soln. Ich habe versucht:
Ich habe versucht mit einfachen for
Schleife [1: nrow(Dataset1)]
mit jeder Zeile von Dataset2
übereinstimmen. Aber ich habe einen großen Datensatz, der viel Zeit in Anspruch nimmt. Ich bin auf der Suche nach viel schneller Weg - die Verwendung von for
Schleife überspringen können.
Jede Hilfe/Anregung wäre willkommen.
Wir 'data.table' dh' setDT (df1 verwenden können) [df2, Wert: = Wert2, an =. (Name, Zeit2> Zeit1)] ' – akrun
sagen, wenn ich eine andere gemeinsame Spalte namens' Zone' habe. kann ich so schreiben für die 'on' Bedingung:' on =. (Name, Zone, Time2> Time1) ' – Zico
ja, du kannst das tun – akrun