[英]Converting 3 columns (day, month, year) into a single date column R
我有一个叫做日期的数据框,它看起来像这样:
Day Month Year
2 April 2015
5 May 2014
23 December 2017
这段代码是:
date <- data.frame(Day = c(2,5,23),
Month = c("April", "May", "December"),
Year = c(2015, 2014, 2017))
我想创建一个如下所示的新列:
Day Month Year Date
2 April 2015 2/4/2015
5 May 2014 5/5/2014
23 December 2017 23/12/2017
为此,我尝试过:
data <- data %>%
mutate(Date = as.Date(paste(Day, Month, Year, sep = "/"))) %>%
dmy()
但是我收到一个错误,它说:
Error in charToDate(x) :
character string is not in a standard unambiguous format
是否有我没有看到的明显错误?
非常感谢。
我们需要在as.Date
使用适当的格式。 使用基础R,我们可以做到
transform(data, Date = as.Date(paste(Day, Month, Year, sep = "/"), "%d/%B/%Y"))
# Day Month Year Date
#1 2 April 2015 2015-04-02
#2 5 May 2014 2014-05-05
#3 23 December 2017 2017-12-23
或者使用dplyr
和lubridate
library(dplyr)
library(lubridate)
data %>% mutate(Date = dmy(paste(Day, Month, Year, sep = "/")))
如果需要更改显示格式format(Date, "%d/%m/%Y")
可以添加format(Date, "%d/%m/%Y")
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.