连接三个数字列而不将它们添加到 r

Joining three numeric columns without adding them in r

我有一个包含三列(以及其他列)的 df "date-data":日、月和年。我想知道是否有任何聪明的方法可以将它们加入到 "DD-MM_YYYY" 的一列中?也许使用 lubridate?

`day<-c(2, 4, 22, 7, 17, 12)
month<-c(2, 1, 6, 12, 10, 5)
year<-c(1999, 2000, 2001, 1977, 1982, 1940)
df<-data.frame(day, month, year)`

我之前只加入过字符串列,或者在我完成计算的地方创建了列。这对我来说是新的。

df$date <- as.Date(with(df, paste(day, month, year,sep="-")), "%d-%m-%y")     

既然你提到了lubridate,那么这个呢?

library(tidyverse)
library(lubridate)
df %>%
    unite(dmy, day, month, year) %>%
    transmute(dmy = dmy(dmy))
#         dmy
#1 1999-02-02
#2 2000-01-04
#3 2001-06-22
#4 1977-12-07
#5 1982-10-17
#6 1940-05-12