我有一个数据集,其中df$Date
的格式为18-Sep-2016
,因此不太有用。我怎样才能轻松转换这个,以便我可以在Shiny app
的{{1}}中使用它?
答案 0 :(得分:6)
anytime包的anydate()
函数是为完全编写的:简单可靠的解析而没有格式而所有其他包都需要格式字符串,或预先选定的功能:
R> library(anytime)
R> anydate("18-Sep-2016")
[1] "2016-09-18"
R> class(anydate("18-Sep-2016"))
[1] "Date"
R>
anydate
甚至可以在格式更改时使用:
R> anydate(c("18-Sep-2016", "2016-09-18", "2016/09/18", "20160918", "09/18/2018"))
[1] "2016-09-18" "2016-09-18" "2016-09-18" "2016-09-18" "2018-09-18"
R>
它还处理factor
类型,但重点是POSIXct
目前需要通过anydate(anytime(...))
(但会在报告问题时修复a few days ago })
R> fv <- as.factor(c("18-Sep-2016", "2016-09-18", "2016/09/18",
+ "20160918", "09/18/2018"))
R> anydate(anytime(fv))
[1] "2016-09-18" "2016-09-18" "2016-09-18" "2016-09-18" "2018-09-18"
R>
答案 1 :(得分:0)
您想要将文字字符串转换为&#39;日期&#39;宾语。这是使用lubridate包的一种方式。
library(lubridate)
ans <- as.Date(parse_date_time('18-Sep-2016',orders = 'dmy'))
print(ans)
# [1] "2016-09-18"
class(ans)
# [1] "Date"