Dữ liệu của tôi chứa một cột ngày đặt hàng. Nó cũng có một cột ngày giao hàng. Một số ngày giao hàng là một ngày (12/31/1990) xảy ra trước ngày đặt hàng, điều này gây ra sự cố trong việc tính toán thời gian vận chuyển trung bình. Tôi muốn lấy ngày đặt hàng cho những hàng này và thêm một số ngày ngẫu nhiên từ phân phối đồng đều.Thêm số ngày ngẫu nhiên vào ngày qua một số chức năng
Trước tiên, tôi đã cố gắng viết một hàm mà tôi có thể áp dụng cho dữ liệu, nhưng kết quả không phải là những gì tôi muốn. Những gì tôi muốn là cho ngày giao hàng mô phỏng để kết thúc trong cột ngày phân phối.
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)
}
Ví dụ dữ liệu:
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