Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从R中的年-月(2017-10)类型对象中提取月?_R_Date_Format - Fatal编程技术网

如何从R中的年-月(2017-10)类型对象中提取月?

如何从R中的年-月(2017-10)类型对象中提取月?,r,date,format,R,Date,Format,这个对象是字符格式的,我希望避免通过基于字符串的函数提取10,因为它非常麻烦。如果有办法通过as.Date()和某些特定的格式,我会很乐意使用它,因为我最近一直很喜欢anytime软件包中的anydate 试试这个: library(anytime) format(anydate("2017-10"), "%m") 这会将其转换为yearmon对象(表示没有日期的年份和月份),然后提取月份。有关更多信息,请参见《年鉴》 library(zoo) cycle(as.yearmon("2017-

这个对象是字符格式的,我希望避免通过基于字符串的函数提取10,因为它非常麻烦。如果有办法通过as.Date()和某些特定的格式,我会很乐意使用它,因为我最近一直很喜欢
anytime
软件包中的
anydate

试试这个:

library(anytime)
format(anydate("2017-10"), "%m")

这会将其转换为yearmon对象(表示没有日期的年份和月份),然后提取月份。有关更多信息,请参见《年鉴》

library(zoo)

cycle(as.yearmon("2017-10"))
## [1] 10

我相信这个问题以前也有人问过

您可以使用
lubridate

library(lubridate)
format(ymd("2017-10", truncated = 1L), "%m")
还是用R基

format(as.Date(paste0("2017-10", "-01")), "%m")

这可能会有所帮助:因为6,7不是通用的。一个月可以是5,也可以是12,最简单的可能就是一个正则表达式,它可以捕获从“-”到结尾的所有数字;str_摘录(“2010-10”,模式=“[0-1]?[0-9]$”)