无法使用 R 从日期中提取日期和月份

unable to extract day and month from date using R

我有一个如下所示的数据框

test_df <- data.frame("subject_id" = c(1, 1, 1, 2), 
                      "date_1" = c("8/6/2009 11:54", "28/3/2009 19:54", "18/2/2009 1:54", "11/3/2009 2:54"))

我想从 date_1 字段中提取 monthday。所以,我尝试了以下

test_df %>% 
  mutate(date_1 = lubridate::dmy_hm(date_1),
         without_year = format(date_1, "%d/%m"))

但是,这会引发如下所示的错误

Error in format.default(date_1, "%d/%m") : 
  invalid 'trim' argument

我希望我的输出如下所示

test_df %>% 
  mutate(
    asDate=lubridate::dmy_hm(date_1), 
    justDayMonth=paste0(lubridate::day(asDate), "/", lubridate::month(asDate)
  )
)
  subject_id          date_1              asDate justDayMonth
1          1  8/6/2009 11:54 2009-06-08 11:54:00          8/6
2          1 28/3/2009 19:54 2009-03-28 19:54:00         28/3
3          1  18/2/2009 1:54 2009-02-18 01:54:00         18/2
4          2  11/3/2009 2:54 2009-03-11 02:54:00         11/3

使用 base-R

format( as.POSIXct(test_df$date_1, format= "%d/%m/%Y %H:%M"), "%d/%m")
[1] "08/06" "28/03" "18/02" "11/03"

您也可以尝试 dplyrbase R:

test_df %>% mutate(date_1=as.Date(test_df$date_1,format = '%d/%m/%Y %H:%M'),
                   daymonth=format(date_1,'%d/%m'))

  subject_id     date_1 daymonth
1          1 2009-06-08    08/06
2          1 2009-03-28    28/03
3          1 2009-02-18    18/02
4          2 2009-03-11    11/03