我有一个从CSV文件导入的数据集,其中“年份”列从2001年开始一直持续到2013年。
然而,该列的类别是“整数”。
> class(Year)
[1] "integer"
我看了很多关于如何进行这种更改的解决方案和帖子,但是这些解决方案似乎都是针对某个版本的 YYYY-mm-dd
/dd-mm-yyy
/mm-dd-yyyy
或者将像 20150521
这样的东西转换为日期。
这些是我到目前为止尝试过但没有成功的一些命令。
Year <- as.Date(Year, "%Y")
Error in charToDate(x) :
character string is not in a standard unambiguous format
as.Date(Year)
Error in as.Date.numeric(Year) : 'origin' must be supplied
as.Date(Year, Year[1])
Error in as.Date.numeric(origin, ...) : 'origin' must be supplied
as.Date(Year, "2001")
Error in charToDate(x) :
character string is not in a standard unambiguous format
as.Date(Year, 2001)
Error in as.Date.numeric(origin, ...) : 'origin' must be supplied
如何将仅包含YYYY格式的列转换为日期?
strptime(as.character(y), "%Y")
- undefinedDate
对象。它至少需要有天的粒度。所以你需要将任何4位数的有效年份整数转换为####-##-##
,才能使其成为一个Date
对象。 - undefined