如何从R中的年-月(2017-10)类型对象中提取月?
这个对象是字符格式的,我希望避免通过基于字符串的函数提取10,因为它非常麻烦。如果有办法通过as.Date()和某些特定的格式,我会很乐意使用它,因为我最近一直很喜欢如何从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-
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]$”)