如何从R中的列中提取月份

How to extract month from a column in R

我正在尝试创建一个列,其中 returns 给定观察的月份。

我的数据框名为:“FF5_Class”

我试过运行下面的代码:

FF5_class$月 <- FF5_class %>% 月(日)

但是,我收到以下错误消息:"

“as.POSIXlt.default(x, tz = tz(x)) 中的错误: 不知道如何将 'x' 转换为 class “POSIXlt”

我的数据截图是这样的:

date    Month
2000-01 
2000-02 
2000-03 
2000-04 
2000-05 
2000-06 
2000-07 
2000-08 
2000-09 
2000-10 
2000-11 
2000-12 
2001-01 
2001-02 
2001-03 
2001-04 
2001-05 
2001-06 
2001-07 
2001-08 
2001-09 
2001-10 
2001-11 
2001-12 

我该怎么做?非常感谢。

我们可以使用几种方法来做到这一点。正则表达式选项将删除 'date' 列 -sub 之前的字符

FF5_class$Month <- sub(".*-", "", FF5_class$date))

或在 paste 天后转换为 Date class,然后使用 format

FF5_class$Month <- format(as.Date(paste0(FF5_class$date, '-01')), '%m')

month 仅适用于 Date 对象,不适用于 character class