Ich bin neu praktizierender R und jetzt kann ich mit Problemen für viele Tage nicht weitermachen. Ich wählte meine aufgezeichneten Daten zu analysieren. Die Daten werden stündlich von 2 Beispielgeräten aufgezeichnet und es gibt ein kleines Verzögerungsproblem zwischen Aufzeichnungsgeräten und Datenbankservern, so dass einige Stunden die Daten in Sekundenschnelle aufgezeichnet werden können (+ -5 oder sich sehr unstabil verändern). Sie können deutlich in Beispieldaten sehen.R: Wie kann ich diese beiden Datenrahmen zu einer Datenrahmen nach Datum Spalte kombinieren?
Große Probleme sind
1) Es gibt einige Zeilen aus Spalte Datum sind in Sekunden Teil nicht gleich.
2) Es gibt einige Zeilen von Datum fehlen Zeilen Ich fand eine fehlende Zeile von df2 'um Stunde 13' nachdem ich Beispieldaten nach Kopf (df1,24)/Kopf (df2,24) ausgewählt hatte und die Ergebnisse wie hierunter. Wenn es 10000 ausgewählte Zeilen gibt, wird das ein großes Problem mit vielen fehlenden Werten.
> class(df1$Date)
[1] "POSIXct" "POSIXt"
df1
> df1
Date Val Weekday
1 2017-06-08 13:00:04 520 Thursday
2 2017-06-08 12:00:04 507 Thursday
3 2017-06-08 11:00:04 501 Thursday
4 2017-06-08 10:00:04 472 Thursday
5 2017-06-08 09:00:04 444 Thursday
6 2017-06-08 08:00:04 446 Thursday
7 2017-06-08 07:00:04 444 Thursday
8 2017-06-08 06:00:04 441 Thursday
9 2017-06-08 05:00:04 439 Thursday
10 2017-06-08 04:00:04 442 Thursday
11 2017-06-08 03:00:04 440 Thursday
12 2017-06-08 02:00:04 443 Thursday
13 2017-06-08 01:00:04 445 Thursday
14 2017-06-08 00:00:04 445 Thursday
15 2017-06-07 23:00:04 446 Wednesday
16 2017-06-07 22:00:04 445 Wednesday
17 2017-06-07 21:00:04 447 Wednesday
18 2017-06-07 20:00:04 445 Wednesday
19 2017-06-07 19:00:04 451 Wednesday
20 2017-06-07 18:00:04 469 Wednesday
21 2017-06-07 17:00:04 473 Wednesday
22 2017-06-07 16:00:04 510 Wednesday
23 2017-06-07 15:00:04 517 Wednesday
24 2017-06-07 14:00:04 524 Wednesday
df2
> df2
Date df1.Val Weekday
1 2017-06-08 12:00:04 507 Thursday
2 2017-06-08 11:00:04 501 Thursday
3 2017-06-08 10:00:04 472 Thursday
4 2017-06-08 09:00:04 444 Thursday
5 2017-06-08 08:00:04 446 Thursday
6 2017-06-08 07:00:04 444 Thursday
7 2017-06-08 06:00:04 441 Thursday
8 2017-06-08 05:00:04 439 Thursday
9 2017-06-08 04:00:04 442 Thursday
10 2017-06-08 03:00:04 440 Thursday
11 2017-06-08 02:00:04 443 Thursday
12 2017-06-08 01:00:04 445 Thursday
13 2017-06-08 00:00:04 445 Thursday
14 2017-06-07 23:00:04 446 Wednesday
15 2017-06-07 22:00:04 445 Wednesday
16 2017-06-07 21:00:04 447 Wednesday
17 2017-06-07 20:00:04 445 Wednesday
18 2017-06-07 19:00:04 451 Wednesday
19 2017-06-07 18:00:04 469 Wednesday
20 2017-06-07 17:00:04 473 Wednesday
21 2017-06-07 16:00:03 510 Wednesday
22 2017-06-07 15:00:03 517 Wednesday
23 2017-06-07 14:00:03 524 Wednesday
24 2017-06-07 13:00:03 489 Wednesday
So, wie Daten zur Vorbereitung zum Kombinieren der Datenrahmen zu können?
Ich möchte die Ausgabe wie in diesem Beispiel sein:
Date df1.Val df2.Val Weekday
2017-06-08 13:00:04 520 Thursday
2017-06-08 12:00:00 507 507 Thursday
2017-06-08 11:00:00 501 501 Thursday
2017-06-08 10:00:00 472 472 Thursday
2017-06-08 09:00:00 444 444 Thursday
2017-06-08 08:00:00 446 446 Thursday
2017-06-08 07:00:00 444 444 Thursday
2017-06-08 06:00:00 441 441 Thursday
2017-06-08 05:00:00 439 439 Thursday
2017-06-08 04:00:00 442 442 Thursday
2017-06-08 03:00:00 440 440 Thursday
2017-06-08 02:00:00 443 443 Thursday
2017-06-08 01:00:00 445 445 Thursday
2017-06-08 00:00:00 445 445 Thursday
2017-06-07 23:00:00 446 446 Wednesday
2017-06-07 22:00:00 445 445 Wednesday
2017-06-07 21:00:00 447 447 Wednesday
2017-06-07 20:00:00 445 445 Wednesday
2017-06-07 19:00:00 451 451 Wednesday
2017-06-07 18:00:00 469 469 Wednesday
2017-06-07 17:00:00 473 473 Wednesday
2017-06-07 16:00:00 510 510 Wednesday
2017-06-07 15:00:00 517 517 Wednesday
2017-06-07 14:00:00 524 524 Wednesday
2017-06-07 13:00:00 489 Wednesday
aber diese Val sind die gleichen, da die Geräte val aus der gleichen Quelle, wenn sie aus verschiedenen Quellen sind davon ausgehen, es geht zu sein wie folgt:
Date df1.Val df3.Val Weekday
2017-06-08 13:00:04 520 550 Thursday
2017-06-08 12:00:00 507 515 Thursday
2017-06-08 11:00:00 501 496 Thursday
Bitte helfen. Ich danke dir sehr.
Können Sie den bearbeiteten Code versuchen? – AK88
Sorry, es funktioniert nicht. Die Ausgabe ist Durchschnittswert von 2 df aber Datum wurde nur von df1 gewählt Ich denke, dass aufgrund der verschiedenen Sekunden und Zeilen Datum von df. bearbeitet: \t Ich werde versuchen, aber welches Paket es ist? –
Ich habe Schwierigkeiten, den Gesamtumfang Ihrer Aufgabe zu verstehen. Können Sie Ihren Standpunkt bezüglich der durchschnittlichen Outputs klären? Das Paket ist "xts". – AK88