如何替换 R 中日期对象中的天数?

Arm*_*_91 2 r dataframe

我想将 R 中日期对象中的不同日期替换为所有对象的同一天。

让我们举个例子。

date = structure(c(10961, 10990, 11018, 11046, 11060, 11088, 11116, 
11144, 11214, 11235, 11249, 11263, 11305, 11354, 11382, 11423, 
11452, 11480, 11494, 11508), class = "Date")

 [1] "2000-01-05" "2000-02-03" "2000-03-02" "2000-03-30" "2000-04-13" "2000-05-11" "2000-06-08"
 [8] "2000-07-06" "2000-09-14" "2000-10-05" "2000-10-19" "2000-11-02" "2000-12-14" "2001-02-01"
[15] "2001-03-01" "2001-04-11" "2001-05-10" "2001-06-07" "2001-06-21" "2001-07-05"

Run Code Online (Sandbox Code Playgroud)

我想得到:

 [1] "2000-01-05" "2000-02-05" "2000-03-05" "2000-03-05" "2000-04-05" "2000-05-05" "2000-06-05"
 [8] "2000-07-05" "2000-09-05" "2000-10-05" "2000-10-05" "2000-11-05" "2000-12-05" "2001-02-05"
[15] "2001-03-05" "2001-04-05" "2001-05-05" "2001-06-05" "2001-06-05" "2001-07-05"

Run Code Online (Sandbox Code Playgroud)

我所做的是:


sub("%d", "05", date, perl = TRUE)

Run Code Online (Sandbox Code Playgroud)

然而,这不起作用。我觉得错误就在于pattern我不知道如何把握刚刚的日子。

谁能帮我?

谢谢!

Rui*_*das 6

基础R:

date <- as.Date(sub("\\d{2}$", "05", date))
Run Code Online (Sandbox Code Playgroud)

包裹lubridate

lubridate::day(date) <- 5
Run Code Online (Sandbox Code Playgroud)