如何在 r 中为日期添加和减去月份


您可以使用 R 中lubridate包中的以下函数来快速添加和减去日期中的月份:

方法一:添加月份

 #add two months to date
my_date %m+% months( 2 )

方法二:减去月份

 #subtract two months from date
my_date %m-% months( 2 )

以下示例展示了如何在实践中使用每种方法。

示例 1:将月份添加到这一天

以下代码显示了如何在 R 中向日期添加两个月:

 library (lubridate)

#define date
my_date <- as. Date ("2022-7-15")

#add two months to date
my_date %m+% months( 2 )

[1] "2022-09-15"

请注意,原始日期 07/15/2022 添加了两个月,以生成新日期 09/15/2022。

示例 2:从日期中减去月份

以下代码显示如何从 R 中的日期减去两个月:

 library (lubridate)

#define date
my_date <- as. Date ("2022-7-15")

#subtract two months from date
my_date %m-% months( 2 )

[1] "2022-05-15"

请注意,从原始日期 07/15/2022 中减去两个月,生成新日期 05/15/2022。

示例 3:在数据框中添加和减去月份

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (date= as.Date (c("2022-3-14", "2022-5-29", "2022-7-15")),
                 sales=c(140, 119, 138))

#view data frame
df

        dirty date
1 2022-03-14 140
2 2022-05-29 119
3 2022-07-15 138

我们可以使用以下代码通过在日期列中的原始值中添加或减去月份来在数据框中创建新列:

 library (lubridate)

#create new column that adds two months to each date
df$two_months_after <- df$date %m+% months( 2 )

#create new column that subtracts two months from each date
df$two_months_before <- df$date %m-% months( 2 )

#view updated data frame
df

        date sales two_months_after two_months_before
1 2022-03-14 140 2022-05-14 2022-01-14
2 2022-05-29 119 2022-07-29 2022-03-29
3 2022-07-15 138 2022-09-15 2022-05-15

请注意,数据框中已添加两个新列。

其他资源

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

如何从R中的日期中提取年份
如何在R中按月对数据进行分组(W
如何计算R中日期之间的月数

添加评论

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