你们中的任何人都可以帮助将日期从 20150101
转换为缩写形式 Jan-2015
吗?
我尝试了以下方法。
x = 20150101
zoo::as.yearmon(x, "%b-%y")
但我收到以下错误
任何帮助将不胜感激。
最佳答案
题中的代码有两个问题:
"%b-%y"
但应该是"%y%m"
as.yearmon.character
而不是as.yearmon.numeric
所以输入应该被转换为"character"
因此,试试这个:
library(zoo)
ym <- as.yearmon(as.character(20150101), "%Y%m")
给予:
> ym
[1] "Jan 2015"
请注意,
"yearmon"
对象在内部存储为年份 + 分数,其中分数是 0 代表 1 月,1/12 代表 2 月,...,11/12 代表 12 月。在外部,它们被呈现为缩写的月份,后跟一个空格,年份为显示。以上可能就足够了,但如果不能将其转换为
"%b-%y"
或 "%b-%Y"
格式的字符串,请使用 format
:format(ym, "%b-%y")
## [1] "Jan-15"
format(ym, "%b-%Y")
## [1] "Jan-2015"
关于r - 将数字日期格式 (YYYYMMDD; 20150101) 转换为年月,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29168292/