如何在 r 中添加今天的天数(带有示例)


您可以使用以下任一方法在 R 中向日期添加天数:

方法一:使用Base R

 #create new column that adds 5 days to date column
df$date_plus5 <- as. Date (df$date) + 5

方法 2:使用 Lubridate 包

 library (lubridate)

#create new column that adds 5 days to date column
df$date_plus5 <- ymd(df$date) + days( 5 )

以下示例展示了如何将每种方法与以下数据框结合使用:

 #create data frame
df <- data. frame (date=c('2022-01-03', '2022-02-15', '2022-05-09',
                        '2022-08-10', '2022-10-14', '2022-12-30'),
                 sales=c(130, 98, 120, 88, 94, 100))

#view data frame
df

        dirty dates
1 2022-01-03 130
2 2022-02-15 98
3 2022-05-09 120
4 2022-08-10 88
5 2022-10-14 94
6 2022-12-30 100

注意:要从日期中减去天数,只需将上述公式之一中的加号更改为减号即可。

示例 1:使用 Base R 将天数添加到今天

以下代码演示如何创建一个名为date_plus5的新列,该列为日期列中的每个日期添加五天:

 #create new column that adds 5 days to date column
df$date_plus5 <- as. Date (df$date) + 5

#view updated data frame
df

        date sales date_plus5
1 2022-01-03 130 2022-01-08
2 2022-02-15 98 2022-02-20
3 2022-05-09 120 2022-05-14
4 2022-08-10 88 2022-08-15
5 2022-10-14 94 2022-10-19
6 2022-12-30 100 2023-01-04

请注意,新的date_plus5列中的值等于日期列中的值加上五天。

我们还可以使用class()函数来确认新列是日期格式:

 #display class of date_plus5 column
class(df$date_plus5)

[1] “Date”

示例 2:使用lubridate 包添加迄今为止的天数

以下代码演示如何使用lubridate包的ymd()days()函数创建一个名为date_plus5的新列,该列为日期列中的每个日期添加五天:

 library (lubridate)

#create new column that adds 5 days to date column
df$date_plus5 <- ymd(df$date) + days( 5 )

#view updated data frame
df

        date sales date_plus5
1 2022-01-03 130 2022-01-08
2 2022-02-15 98 2022-02-20
3 2022-05-09 120 2022-05-14
4 2022-08-10 88 2022-08-15
5 2022-10-14 94 2022-10-19
6 2022-12-30 100 2023-01-04

新的date_plus5列中的值等于日期列中的值加上五天。

注意ymd()函数告诉lubridate包,日期列中的值当前采用年-月-日格式。

有关更多日期格式选项,请参阅 Lubridate文档页面

其他资源

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

如何在R中将日期转换为数字
如何从R中的日期中提取月份
如何在 R 中为日期添加和减去月份

添加评论

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