连接三个数字列而不在r中添加它们



我有一个df,它有三列(以及其他列(带有"日期数据":日、月和年。我想知道是否有什么聪明的方法可以用"DD-MM_YYYY"将它们连接到一个列中?也许和鲁布里达?

`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)`

我以前只连接过字符串列,或者创建过我进行过计算的列。这对我来说是新的。

既然你提到了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
df$date <- as.Date(with(df, paste(day, month, year,sep="-")), "%d-%m-%y")     

最新更新