1. Fall
ich zwei data.frames wie folgt erhalten haben:Merge data.frame nach Datum (Jahr und Monat)
df1 = read.table(text = 'Date ID
1980-12-01 2
1982-11-01 1
1990-01-01 6
1993-07-01 9', header = TRUE)
df2 = read.table(text = 'Date Var
1980-12-17 8
1982-11-07 9
1990-01-19 10
1993-07-20 22', header = TRUE)
ich mit DF2 durch die Spalte Datum df1 fusionieren müssen aber durch nur unter Berücksichtigung von Jahr und Monat, auch weil sonst die Zusammenführung nicht funktioniert (weil die Tage anders sind).
sollte Meine Ausgabe wie folgt sein:
Date ID Var
1980-12 2 8
1982-11 1 9
1990-01 6 10
1993-07 9 22
ich die Tage in den Datum Spalten entfernen betrachtet, aber ich würde gerne wissen, ob es einen schnelleren Weg, dies zu tun. Ich überprüfte auch und es scheint, dass niemand diese Frage zuvor gestellt hat.
Dank
#UPDATE
2. Fall
Wie in den Kommentaren vorgeschlagen, was ist, wenn ich in einer data.frame mehrere Beobachtungen im selben Jahr und Monat erhalten?
z.B.
df1 = read.table(text = 'Date ID #as 1st Case
1980-12-01 2
1982-11-01 1
1990-01-01 6
1993-07-01 9', header = TRUE)
df3 = read.table(text = 'Date Var
1980-12-17 8
1980-12-29 4
1980-12-30 1
1982-11-07 9
1982-11-12 1
1990-01-19 10
1990-01-22 21
1993-07-20 22
1993-07-26 12', header = TRUE)
Meine neue Ausgabe sollte sein:
Date Var ID
1980-12 8 2
1980-12 4 2
1980-12 1 2
1982-11 9 1
1982-11 1 1
1990-01 10 6
1990-01 21 6
1993-07 22 9
1993-07 12 9
#
UPDATE
3. Fall
Was passiert, wenn ich mehrere Beobachtungen im selben Jahr und Monat bekam sowohl in der data.frames?
df4 = read.table(text = 'Date ID
1980-12-01 1
1980-12-01 2
1982-11-01 3
1982-11-01 4
1990-01-01 5
1990-01-01 6
1993-07-01 7
1993-07-01 8', header = TRUE)
df3 = read.table(text = 'Date Var #as 2nd Case
1980-12-17 8
1980-12-29 4
1980-12-30 1
1982-11-07 9
1982-11-12 1
1990-01-19 10
1990-01-22 21
1993-07-20 22
1993-07-26 12', header = TRUE)
Das sollte neue Ausgabe sein:
Date Var ID
1980-12-17 8 1
1980-12-17 8 2
1980-12-29 4 1
1980-12-29 4 2
1980-12-30 1 1
1980-12-30 1 2
1982-11-07 9 3
1982-11-07 9 4
1982-11-12 1 3
1982-11-12 1 4
1990-01-19 10 5
1990-01-19 10 6
1990-01-22 21 5
1990-01-22 21 6
1993-07-20 22 7
1993-07-20 22 8
1993-07-26 12 7
1993-07-26 12 8
Zunächst einmal fusionieren, +1 für reproduzierbare Daten setzen und erwartete Ausgabe;) – Tensibai
was, wenn Sie haben mehrere Beobachtungen aus dem gleichen Monat? – mtoto
Ich habe meine Frage aktualisiert. Das ist eigentlich mein letztes Ziel. Danke, dass du das herausgibst. –