Meine Daten enthält eine Spalte mit Bestelldaten. Es hat auch eine Spalte mit Lieferterminen. Einige der Liefertermine sind ein Datum (1990.12.31), die vor dem Bestelldatum aufgetreten, was zu Problemen bei der Berechnung der durchschnittliche Lieferzeit verursacht. Ich mag das Bestelldatum für diese Zeilen nehmen und eine zufällige Anzahl von Tagen von einer gleichmäßigen Verteilung hinzuzufügen.Hinzufügen einer zufälligen Anzahl von Tagen zu Daten über eine Funktion
Zuerst habe ich versucht, eine Funktion zu schreiben, die ich auf die Daten anwenden könnte, aber das Ergebnis war nicht das, was ich wollte. Ich möchte, dass das simulierte Lieferdatum in der Spalte Lieferdatum endet.
func1 = function(x){
if(x[2]=="1990-12-31" && !is.na(x[2]))
x[2] = as.Date(x[1]) + floor(runif(1,min=0,max=30))
return (x)
}
Beispieldaten:
x <- structure(list(orderDate = structure(c(15706, 15706, 15706, 15706,
15706), class = "Date"), deliveryDate = structure(c(15707, 15707,
7669, 15707, 7669), class = "Date")), .Names = c("orderDate",
"deliveryDate"), row.names = c(NA, 5L), class = "data.frame")
# orderDate deliveryDate
#1 2013-01-01 2013-01-02
#2 2013-01-01 2013-01-02
#3 2013-01-01 1990-12-31
#4 2013-01-01 2013-01-02
#5 2013-01-01 1990-12-31