将数字格式转换为 R 中的 YYYY 日期
Converting Numeric format to YYYY Date in R
我有一个从 CSV 文件导入的数据集,其中 "Year" 列从 2001 年开始一直持续到 2013 年。
但是 class 列是 'integer'。
> 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")
这包括一天和一个月:
strptime(as.character(1999), "%Y")
[1] "1999-10-07 EEST"
作为一种解决方法,您可以尝试保持年份不变,或者包括 每年的第一天 并且 提取年份 你想要,像这样:
base-r:
date <- strptime("2012", "%Y")
format(date, "%Y")
[1] "2012"
as.numeric(format(date, "%Y"))
[1] 2012
润滑:
require(lubridate)
year(date)
[1] 2012
我有一个从 CSV 文件导入的数据集,其中 "Year" 列从 2001 年开始一直持续到 2013 年。
但是 class 列是 'integer'。
> 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")
这包括一天和一个月:
strptime(as.character(1999), "%Y")
[1] "1999-10-07 EEST"
作为一种解决方法,您可以尝试保持年份不变,或者包括 每年的第一天 并且 提取年份 你想要,像这样:
base-r:
date <- strptime("2012", "%Y")
format(date, "%Y")
[1] "2012"
as.numeric(format(date, "%Y"))
[1] 2012
润滑:
require(lubridate)
year(date)
[1] 2012