为这个简单的问题道歉,但我找不到此类日期的帮助。
2012 年 4 月 5 日保存为数字“20120405”
如何将这些值的向量转换为可用日期?
你只需要这个as.Date
功能:
R> x = "20120405"
R> as.Date(x, "%Y%m%d")
[1] "2012-04-05"
查看帮助文件:?as.Date
,但本质上
%Y
表示 2012 形式的年份,%y
用于12
.%m
是月份。%d
那天。如果您的日期有分隔符,例如 2012-04-05,则使用类似:%Y-%m-%d
. 或者,您可以使用:
R> strptime(x, "%Y%m%d")
[1] "2012-04-05"
特别是,您可以将日期向量传递给这些函数,因此:
R> y = c("20120405", "20121212")
R> as.Date(y, "%Y%m%d")
[1] "2012-04-05" "2012-12-12"
像这样,
(foo <- as.Date("20120405", "%Y%m%d"))
# "2012-04-05"
也许你想把format
月份打印出来
format(foo, "%Y %b %d")
# "2012 Apr 05"
你可以看看这个页面
strptime
您可以将其转换为类POSIXlt
,并as.Date
可以Date
使用格式将其转换为类"%Y%m%d"
:
strptime( "20120405",format="%Y%m%d")
[1] "2012-04-05"
as.Date( "20120405",format="%Y%m%d")
[1] "2012-04-05"
如果您有 character"20120405"
或 numeric ,还不是很清楚20120405
。在后一种情况下,您必须先转换为字符as.character(20120405)
你也可以使用这个lubridate
包:
library(lubridate)
ymd("20120405")