Daten:berechnen und geben das Datum der ersten Bestellung des Kunden
DB <- data.frame(orderID = c(1,2,3,4,4,5,6,6,7,8),
orderDate = c("1.1.12","1.1.12","1.1.12","13.1.12","13.1.12","12.1.12","10.1.12","10.1.12","21.1.12","24.1.12"),
itemID = c(2,3,2,5,12,4,2,3,1,5),
customerID = c(1, 2, 3, 1, 1, 3, 2, 2, 1, 1),
itemPrice = c(9.99, 14.99, 9.99, 19.99, 29.99, 4.99, 9.99, 14.99, 49.99, 19.99))
Erwartetes Ergebnis:
DB <- data.frame(orderID = c(1,2,3,4,4,5,6,6,7,8),
orderDate = c("1.1.12","2.1.12","3.1.12","13.1.12","13.1.12","12.1.12","10.1.12","10.1.12","21.1.12","24.1.12"),
itemID = c(2,3,2,5,12,4,2,3,1,5),
customerID = c(1, 2, 3, 1, 1, 3, 2, 2, 1, 1),
itemPrice = c(9.99, 14.99, 9.99, 19.99, 29.99, 4.99, 9.99, 14.99, 49.99, 19.99),
DateOfFirstOrderofCustomer = c("1.1.12", "2.1.12", "3.1.12", "1.1.12", "1.1.12", "3.1.12", "2.1.12", "2.1.12", "1.1.12", "1.1.12"))
Für Verstehen:
Der orderI
D ist stetig. Produkte bestellt von der gleichen customerID
am selben Tag erhalten die gleiche orderID
. Wenn der gleiche Kunde Produkte an einem anderen Tag bestellt, ist er/sie ein neuer orderID
.
ich eine zusätzliche Spalte für jede Zeile/Eintrag hinzufügen möchten, die das Datum des ersten Bestellung des Kunden enthält (zB Kunde 1 (customerID
1) seinen ersten Auftrag auf 1.1.12
so dieses Datum in alle Bestellungen dieses Kunden eingegeben). Wie können wir das tun?
Die ursprünglichen Daten haben ungefähr 500k Reihen: so geben Sie eine Lösung, die nur wenig Leistung braucht.
Ihr 'orderDate' aus Daten und erwartetem Ergebnis stimmen nicht überein. Hoffentlich löst meine Antwort das, indem ich Dummy-Daten einfüge. – MikeRSpencer
Das ist richtig - mein Fehler:/ – AbsoluteBeginner