Используйте метод format()
для объектов класса "yearmon"
. Вот ваша дата пример (правильно создан!)
date1 <- as.yearmon("Mar 2012", "%b %Y")
Тогда мы можем извлечь части даты в соответствии с требованиями:
> format(date1, "%b") ## Month, char, abbreviated
[1] "Mar"
> format(date1, "%Y") ## Year with century
[1] "2012"
> format(date1, "%m") ## numeric month
[1] "03"
Они возвращаются в виде символов. Если необходимо, оберните в as.numeric()
, если вы хотите, чтобы год или числовой месяц представляли собой числовую переменную, например.
> as.numeric(format(date1, "%m"))
[1] 3
> as.numeric(format(date1, "%Y"))
[1] 2012
См ?yearmon
и ?strftime
для деталей - последняя объясняет символы-заполнители, которые можно использовать.
% B за полный месяц, т. Е. Март «вместо» из «Мар» – PatrickT
Как бы это сделать, если бы имел «вектор» из n элементов, допустим, 1k дат в одном «векторе»? – Stophface
@Chrissl, как и большая часть R, 'date1' может быть также вектором дат. –