I have a yearmon
object:
require(zoo)
date1 <- as.yearmon("Mar 2012", "%b %Y")
class(date1)
# [1] "yearmon"
How can I extract the month and year from this?
month1 <- fn(date1)
year1 <- fn(date1)
What function should I use in place of fn()
Use the format()
method for objects of class "yearmon"
. Here is your example date (properly created!)
date1 <- as.yearmon("Mar 2012", "%b %Y")
Then we can extract the date parts as required:
> format(date1, "%b") ## Month, char, abbreviated
[1] "Mar"
> format(date1, "%Y") ## Year with century
[1] "2012"
> format(date1, "%m") ## numeric month
[1] "03"
These are returned as characters. Where appropriate, wrap in as.numeric()
if you want the year or numeric month as a numeric variable, e.g.
> as.numeric(format(date1, "%m"))
[1] 3
> as.numeric(format(date1, "%Y"))
[1] 2012
See ?yearmon
and ?strftime
for details - the latter explains the placeholder characters you can use.