Мои данные содержат столбец дат заказа. Он также имеет столбец дат поставки. Некоторые даты поставки - это дата (12/31/1990), которая произошла до даты заказа, что вызывает проблемы при вычислении среднего времени доставки. Я хотел бы взять дату заказа для этих строк и добавить случайное число дней из равномерного распределения.Добавление случайного числа дней к датам с помощью некоторой функции
Во-первых, я попытался написать функцию, которую я мог бы применить к данным, но результат был не тем, что я хотел. Я хочу, чтобы имитированная дата доставки закончилась в столбце даты поставки.
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)
}
Пример данные:
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