Выбор медианы из трех переменных даты

#r #date #median

#r #Дата #срединный

Вопрос:

Я пытаюсь выбрать среднюю дату из трех переменных в R. Для другого фрагмента кода, который я использовал pmin (см. Ниже). Мне интересно, знает ли кто-нибудь о сопоставимой функции для выбора средней даты. hadmin1 , hadmin2 и hadmin3 находятся в формате даты и времени. Спасибо!

 covidtest2 lt;- covidtest %gt;%  mutate(  hadmin1new = case_when(  probid == 1 amp; thirdhosp == 1 ~ pmin(hadmin1, hadmin2, hadmin3),  probid == 1 amp;  thirdhosp == 0 ~ pmin(hadmin1, hadmin2),  probid == 0 ~ hadmin1  )  ) %gt;%   

Ответ №1:

В базе R вы можете сделать: (Я составил свои собственные данные, так как вы их не предоставили)

 set.seed(42) datetimes lt;- as.POSIXct(runif(18, max = 1e9), origin = '1970-01-01', tz = 'GMT') df lt;- data.frame(dt1 = datetimes[1:6], dt2 = datetimes[7:12], dt3 = datetimes[13:18])  df$new lt;- mapply((x, y, z) median(c(x, y, z)), df$dt1, df$dt2, df$dt3) |gt;   as.POSIXct(origin = '1970-01-01', tz = 'GMT') df  dt1 dt2 dt3 1 1998-12-28 00:47:23 1993-05-05 07:51:54 1999-08-14 23:10:47 2 1999-09-11 18:43:33 1974-04-08 15:23:17 1978-02-04 08:27:04 3 1979-01-25 19:12:14 1990-10-27 01:51:30 1984-08-25 14:40:22 4 1996-04-25 15:53:46 1992-05-05 11:19:44 1999-10-15 19:08:42 5 1990-05-03 14:38:38 1984-07-03 22:29:36 2000-12-31 01:33:48 6 1986-06-14 01:19:09 1992-10-15 01:24:11 1973-09-21 19:22:41  new 1 1998-12-28 00:47:23 2 1978-02-04 08:27:04 3 1984-08-25 14:40:22 4 1996-04-25 15:53:46 5 1990-05-03 14:38:38 6 1986-06-14 01:19:09