如何从 r 中的日期中提取月份(带有示例)


在 R 中,有两种方法可以快速从日期中提取月份:

方法一:使用format()

 df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")

方法二:使用润滑

 library (lubridate)

df$month <- month( mdy (df$date))

本教程展示了如何在实践中使用每种方法的示例。

方法 1:使用 format() 从日期中提取月份

以下代码显示如何使用format()函数结合“%m”参数从日期中提取月份:

 #create data frame
df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty date
1 01/01/2021 34
2 01/04/2021 36
3 01/09/2021 44

#create new variable that contains month
df$month <- format( as.Date (df$date, format=" %d/%m/%Y ")," %m ")

#view updated data frame
df

        date sales month
1 01/01/2021 34 01
2 01/04/2021 36 04
3 01/09/2021 44 09

请注意,此format()函数适用于各种日期格式。您只需指定格式:

 #create data frame
df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty date
1 2021-01-01 34
2 2021-01-04 36
3 2021-01-09 44

#create new variable that contains month
df$month<- format( as.Date (df$date, format=" %Y-%m-%d ")," %m ")

#view updated data frame
df

        date sales month
1 2021-01-01 34 01
2 2021-01-04 36 01
3 2021-01-09 44 01

注意:您还可以使用%B将月份提取为字符串名称 (January),而不是数值 (01)。

方法 2:使用 Lubridate 从日期中提取月份

我们还可以使用 lubridate 包中的函数来快速从日期中提取月份:

 library (lubridate)

#create data frame
df <- data. frame (date=c("01/01/2021", "01/04/2021" , "01/09/2021"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty dates
1 01/01/2021 34
2 01/04/2021 36
3 01/09/2021 44

#create new variable that contains month
df$month<- month( mdy (df$date))

#view updated data frame
df

        date sales month
1 01/01/2021 34 1
2 01/04/2021 36 1
3 01/09/2021 44 1

Lubridate 还适用于各种日期格式。您只需指定格式:

 #create data frame
df <- data. frame (date=c("2021-01-01", "2021-01-04", "2021-01-09"),
                  sales=c(34, 36, 44))

#view data frame
df

        dirty date
1 2021-01-01 34
2 2021-01-04 36
3 2021-01-09 44

#create new variable that contains month
df$month <- month( ymd (df$date))

#view updated data frame
df

        date sales month
1 2021-01-01 34 1
2 2021-01-04 36 1
3 2021-01-09 44 1

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何从R中的日期中提取年份
如何计算R中日期之间的月数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注